]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/IAR/ARM_CM4F/portasm.s
Update Cortex-M3 and Cortex-M4F ports to allow the SysTick to be clocked at a differe...
[freertos] / FreeRTOS / Source / portable / IAR / ARM_CM4F / portasm.s
index 72bf98e33a2beca5cf553ce0749fa4a847c8deb2..b0123a4a75432a14f4b919b3b1ecfe0cf64fb917 100644 (file)
@@ -83,7 +83,7 @@
 \r
 xPortPendSVHandler:\r
        mrs r0, psp\r
-\r
+       isb\r
        /* Get the location of the current TCB. */\r
        ldr     r3, =pxCurrentTCB\r
        ldr     r2, [r3]\r
@@ -121,7 +121,7 @@ xPortPendSVHandler:
        vldmiaeq r0!, {s16-s31}\r
 \r
        msr psp, r0\r
-\r
+       isb\r
        #ifdef WORKAROUND_PMU_CM001 /* XMC4000 specific errata */\r
                #if WORKAROUND_PMU_CM001 == 1\r
                        push { r14 }\r
@@ -156,6 +156,7 @@ vPortSVCHandler:
        /* Pop the core registers. */\r
        ldmia r0!, {r4-r11, r14}\r
        msr psp, r0\r
+       isb\r
        mov r0, #0\r
        msr     basepri, r0\r
        bx r14\r
@@ -171,6 +172,8 @@ vPortStartFirstTask
        msr msp, r0\r
        /* Call SVC to start the first task. */\r
        cpsie i\r
+       dsb\r
+       isb\r
        svc 0\r
 \r
 /*-----------------------------------------------------------*/\r