]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/GCC/ARM_CM0/portmacro.h
Add barrier instructions to the GCC CM3 ports.
[freertos] / FreeRTOS / Source / portable / GCC / ARM_CM0 / portmacro.h
index 18b9b8b8c357f93c0710075f8559c8ef751cd54b..65457bc6da6610209f384b6c6071c8c5b1f502d4 100644 (file)
@@ -116,9 +116,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
 \r