;/*\r
-; FreeRTOS V7.4.1 - Copyright (C) 2013 Real Time Engineers Ltd.\r
-; \r
+; FreeRTOS V8.1.0 - Copyright (C) 2014 Real Time Engineers Ltd.\r
+; All rights reserved\r
+;\r
;\r
; ***************************************************************************\r
; * *\r
.text\r
.arm\r
.ref vTaskSwitchContext\r
- .ref vTaskIncrementTick\r
+ .ref xTaskIncrementTick\r
.ref ulTaskHasFPUContext\r
.ref pxCurrentTCB\r
\r
;/*-----------------------------------------------------------*/\r
;\r
-; Save Task Context \r
+; Save Task Context\r
;\r
portSAVE_CONTEXT .macro\r
DSB\r
\r
; If the task is not using a floating point context then skip the\r
; saving of the FPU registers.\r
- BEQ PC+3\r
+ BEQ $+16\r
FSTMDBD LR!, {D0-D15}\r
FMRX R1, FPSCR\r
STMFD LR!, {R1}\r
\r
; If the task is not using a floating point context then skip the\r
; VFP register loads.\r
- BEQ PC+3\r
+ BEQ $+16\r
\r
; Restore the floating point context.\r
LDMFD LR!, {R0}\r
\r
; Increment the tick count, making any adjustments to the blocked lists\r
; that may be necessary.\r
- BL vTaskIncrementTick\r
+ BL xTaskIncrementTick\r
\r
; Select the next task to execute.\r
- BL vTaskSwitchContext\r
+ CMP R0, #0\r
+ BLNE vTaskSwitchContext\r
\r
; Restore the context of the task selected to execute.\r
portRESTORE_CONTEXT\r