X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=FreeRTOS%2FSource%2Fportable%2FCCS%2FARM_Cortex-R4%2FportASM.asm;h=72afd2782efa1da149ce9959f4760ada8e535a94;hb=f60b252c8f21e9198438dd0b7c7623f269aa6f1a;hp=61896add1e8d534a42ccc3a09b6d92bdf6fa4bd3;hpb=a97a430d525b824853f6528cb60d160468690963;p=freertos diff --git a/FreeRTOS/Source/portable/CCS/ARM_Cortex-R4/portASM.asm b/FreeRTOS/Source/portable/CCS/ARM_Cortex-R4/portASM.asm index 61896add1..72afd2782 100644 --- a/FreeRTOS/Source/portable/CCS/ARM_Cortex-R4/portASM.asm +++ b/FreeRTOS/Source/portable/CCS/ARM_Cortex-R4/portASM.asm @@ -1,6 +1,7 @@ ;/* -; FreeRTOS V7.4.2 - Copyright (C) 2013 Real Time Engineers Ltd. -; +; FreeRTOS V9.0.0rc1 - Copyright (C) 2016 Real Time Engineers Ltd. +; All rights reserved +; ; ; *************************************************************************** ; * * @@ -54,13 +55,13 @@ .text .arm .ref vTaskSwitchContext - .ref vTaskIncrementTick + .ref xTaskIncrementTick .ref ulTaskHasFPUContext .ref pxCurrentTCB ;/*-----------------------------------------------------------*/ ; -; Save Task Context +; Save Task Context ; portSAVE_CONTEXT .macro DSB @@ -100,7 +101,7 @@ portSAVE_CONTEXT .macro ; If the task is not using a floating point context then skip the ; saving of the FPU registers. - BEQ PC+3 + BEQ $+16 FSTMDBD LR!, {D0-D15} FMRX R1, FPSCR STMFD LR!, {R1} @@ -136,7 +137,7 @@ portRESTORE_CONTEXT .macro ; If the task is not using a floating point context then skip the ; VFP register loads. - BEQ PC+3 + BEQ $+16 ; Restore the floating point context. LDMFD LR!, {R0} @@ -225,10 +226,11 @@ vPortPreemptiveTick: ; Increment the tick count, making any adjustments to the blocked lists ; that may be necessary. - BL vTaskIncrementTick + BL xTaskIncrementTick ; Select the next task to execute. - BL vTaskSwitchContext + CMP R0, #0 + BLNE vTaskSwitchContext ; Restore the context of the task selected to execute. portRESTORE_CONTEXT