aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/nil/ports/ARMCMx/nilcore_v7m.h10
-rw-r--r--os/rt/ports/ARMCMx/chcore_v7m.h10
-rw-r--r--testhal/STM32/STM32F7xx/IRQ_STORM/debug/STM32F7xx-IRQ_STORM (OpenOCD, Flash and Run).launch2
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="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList/&gt;"/>
+<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList&gt;&lt;content id=&quot;basepri-(format)&quot; val=&quot;1&quot;/&gt;&lt;/contentList&gt;"/>
<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;globalVariableList/&gt;&#13;&#10;"/>
<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList/&gt;&#13;&#10;"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>