]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/GCC/ARM_CM7/r0p1/port.c
Correct long time mis-spelled portINITIAL_EXEC_RETURN to portINITIAL_EXC_RETURN
[freertos] / FreeRTOS / Source / portable / GCC / ARM_CM7 / r0p1 / port.c
index 07782685f0768f4e220e89dda90a5238fe950e4c..4cb759c39880c60ce1c7764c98c2a8cb1dd1390a 100644 (file)
 \r
 /* Constants required to set up the initial stack. */\r
 #define portINITIAL_XPSR                                       ( 0x01000000 )\r
-#define portINITIAL_EXEC_RETURN                                ( 0xfffffffd )\r
+#define portINITIAL_EXC_RETURN                         ( 0xfffffffd )\r
 \r
 /* The systick is a 24-bit counter. */\r
 #define portMAX_24_BIT_NUMBER                          ( 0xffffffUL )\r
@@ -242,7 +242,7 @@ StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t px
        /* A save method is being used that requires each task to maintain its\r
        own exec return value. */\r
        pxTopOfStack--;\r
-       *pxTopOfStack = portINITIAL_EXEC_RETURN;\r
+       *pxTopOfStack = portINITIAL_EXC_RETURN;\r
 \r
        pxTopOfStack -= 8;      /* R11, R10, R9, R8, R7, R6, R5 and R4. */\r
 \r
@@ -477,7 +477,7 @@ void xPortPendSVHandler( void )
        "       stmdb r0!, {r4-r11, r14}                        \n" /* Save the core registers. */\r
        "       str r0, [r2]                                            \n" /* Save the new top of stack into the first member of the TCB. */\r
        "                                                                               \n"\r
-       "       stmdb sp!, {r3}                                         \n"\r
+       "       stmdb sp!, {r0, r3}                                     \n"\r
        "       mov r0, %0                                                      \n"\r
        "       cpsid i                                                         \n" /* Errata workaround. */\r
        "       msr basepri, r0                                         \n"\r
@@ -487,7 +487,7 @@ void xPortPendSVHandler( void )
        "       bl vTaskSwitchContext                           \n"\r
        "       mov r0, #0                                                      \n"\r
        "       msr basepri, r0                                         \n"\r
-       "       ldmia sp!, {r3}                                         \n"\r
+       "       ldmia sp!, {r0, r3}                                     \n"\r
        "                                                                               \n"\r
        "       ldr r1, [r3]                                            \n" /* The first item in pxCurrentTCB is the task top of stack. */\r
        "       ldr r0, [r1]                                            \n"\r