]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/IAR/ARM_CM4F/portmacro.h
Add barrier instructions to IAR CM3 ports.
[freertos] / FreeRTOS / Source / portable / IAR / ARM_CM4F / portmacro.h
index 7d992bcc1f0118a0b12f575e93404749c5070288..edb2113a32168956838f0bf5c757ec4c8afef8fb 100644 (file)
@@ -115,9 +115,11 @@ extern "C" {
 /*-----------------------------------------------------------*/        \r
 \r
 /* Scheduler utilities. */\r
-extern void vPortYieldFromISR( void );\r
-#define portYIELD()                                    vPortYieldFromISR()\r
-#define portEND_SWITCHING_ISR( xSwitchRequired ) if( xSwitchRequired ) vPortYieldFromISR()\r
+extern void vPortYield( void );\r
+#define portNVIC_INT_CTRL_REG          ( * ( ( volatile unsigned long * ) 0xe000ed04 ) )\r
+#define portNVIC_PENDSVSET_BIT         ( 1UL << 28UL )\r
+#define portYIELD()                                    vPortYield()\r
+#define portEND_SWITCHING_ISR( xSwitchRequired ) if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT\r
 /*-----------------------------------------------------------*/\r
 \r
 /* Architecture specific optimisations. */\r