diff options
-rw-r--r-- | os/nil/ports/ARMCMx/nilcore_v7m.h | 10 | ||||
-rw-r--r-- | os/rt/ports/ARMCMx/chcore_v7m.h | 10 | ||||
-rw-r--r-- | testhal/STM32/STM32F7xx/IRQ_STORM/debug/STM32F7xx-IRQ_STORM (OpenOCD, Flash and Run).launch | 2 |
3 files changed, 21 insertions, 1 deletions
diff --git a/os/nil/ports/ARMCMx/nilcore_v7m.h b/os/nil/ports/ARMCMx/nilcore_v7m.h index 41c038fcc..3ee6f15a8 100644 --- a/os/nil/ports/ARMCMx/nilcore_v7m.h +++ b/os/nil/ports/ARMCMx/nilcore_v7m.h @@ -455,7 +455,17 @@ static inline bool port_is_isr_context(void) { static inline void port_lock(void) {
#if CORTEX_SIMPLIFIED_PRIORITY == FALSE
+#if defined(__CM7_REV)
+#if __CM7_REV == 0
+ __disable_irq();
+#endif
+#endif
__set_BASEPRI(CORTEX_BASEPRI_KERNEL);
+#if defined(__CM7_REV)
+#if __CM7_REV == 0
+ __enable_irq();
+#endif
+#endif
#else /* CORTEX_SIMPLIFIED_PRIORITY */
__disable_irq();
#endif /* CORTEX_SIMPLIFIED_PRIORITY */
diff --git a/os/rt/ports/ARMCMx/chcore_v7m.h b/os/rt/ports/ARMCMx/chcore_v7m.h index ab6cf28b9..ed78d1bce 100644 --- a/os/rt/ports/ARMCMx/chcore_v7m.h +++ b/os/rt/ports/ARMCMx/chcore_v7m.h @@ -456,7 +456,17 @@ static inline bool port_is_isr_context(void) { static inline void port_lock(void) {
#if CORTEX_SIMPLIFIED_PRIORITY == FALSE
+#if defined(__CM7_REV)
+#if __CM7_REV == 0
+ __disable_irq();
+#endif
+#endif
__set_BASEPRI(CORTEX_BASEPRI_KERNEL);
+#if defined(__CM7_REV)
+#if __CM7_REV == 0
+ __enable_irq();
+#endif
+#endif
#else /* CORTEX_SIMPLIFIED_PRIORITY */
__disable_irq();
#endif /* CORTEX_SIMPLIFIED_PRIORITY */
diff --git a/testhal/STM32/STM32F7xx/IRQ_STORM/debug/STM32F7xx-IRQ_STORM (OpenOCD, Flash and Run).launch b/testhal/STM32/STM32F7xx/IRQ_STORM/debug/STM32F7xx-IRQ_STORM (OpenOCD, Flash and Run).launch index 5e40bfc5d..ef5b2a150 100644 --- a/testhal/STM32/STM32F7xx/IRQ_STORM/debug/STM32F7xx-IRQ_STORM (OpenOCD, Flash and Run).launch +++ b/testhal/STM32/STM32F7xx/IRQ_STORM/debug/STM32F7xx-IRQ_STORM (OpenOCD, Flash and Run).launch @@ -33,7 +33,7 @@ <intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
-<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><contentList/>"/>
+<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><contentList><content id="basepri-(format)" val="1"/></contentList>"/>
<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <globalVariableList/> "/>
<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <memoryBlockExpressionList/> "/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>
|