\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
/* 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
" 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
" 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