]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/CCS/ARM_Cortex-R4/portASM.asm
***IMMINENT RELEASE NOTICE***
[freertos] / FreeRTOS / Source / portable / CCS / ARM_Cortex-R4 / portASM.asm
index 196beeacba4fd768d8dbe5fa968b09f1e8d2dc53..11452b6b975f00e56d32c7ed906ecadf123976ee 100644 (file)
@@ -1,6 +1,7 @@
 ;/*\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
@@ -100,7 +101,7 @@ portSAVE_CONTEXT .macro
 \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
@@ -136,7 +137,7 @@ portRESTORE_CONTEXT .macro
 \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
@@ -225,10 +226,11 @@ vPortPreemptiveTick:
 \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