]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/CCS/MSP430X/portext.asm
Update version number to 9.0.0rc2.
[freertos] / FreeRTOS / Source / portable / CCS / MSP430X / portext.asm
index a00e2f0b1668611b2756782942131e80c7d889f0..935776849f6d71ac686d2ffb1207dab7bf325347 100644 (file)
@@ -1,7 +1,8 @@
 ;\r
 ;/*\r
-;    FreeRTOS V7.4.1 - Copyright (C) 2013 Real Time Engineers Ltd.\r
-;      \r
+;    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
+;    All rights reserved\r
+;\r
 ;\r
 ;    ***************************************************************************\r
 ;     *                                                                       *\r
@@ -57,7 +58,7 @@
 \r
        .include data_model.h\r
 \r
-       .global vTaskIncrementTick\r
+       .global xTaskIncrementTick\r
        .global vTaskSwitchContext\r
        .global vPortSetupTimerInterrupt\r
        .global pxCurrentTCB\r
@@ -80,7 +81,7 @@ portSAVE_CONTEXT .macro
        mov_x   sp, 0( r12 )\r
        .endm\r
 ;-----------------------------------------------------------\r
-               \r
+\r
 portRESTORE_CONTEXT .macro\r
 \r
        mov_x   &pxCurrentTCB, r12\r
@@ -88,7 +89,9 @@ portRESTORE_CONTEXT .macro
        pop_x   r15\r
        mov.w   r15, &usCriticalNesting\r
        popm_x  #12, r15\r
+       nop\r
        pop.w   sr\r
+       nop\r
        ret_x\r
        .endm\r
 ;-----------------------------------------------------------\r
@@ -101,37 +104,37 @@ portRESTORE_CONTEXT .macro
 ;*\r
 ;* If the preemptive scheduler is in use a context switch can also occur.\r
 ;*/\r
-       \r
+\r
        .text\r
        .align 2\r
-       \r
+\r
 vPortPreemptiveTickISR: .asmfunc\r
-       \r
+\r
        ; The sr is not saved in portSAVE_CONTEXT() because vPortYield() needs\r
        ;to save it manually before it gets modified (interrupts get disabled).\r
        push.w sr\r
        portSAVE_CONTEXT\r
-                               \r
-       call_x  #vTaskIncrementTick\r
+\r
+       call_x  #xTaskIncrementTick\r
        call_x  #vTaskSwitchContext\r
-               \r
+\r
        portRESTORE_CONTEXT\r
        .endasmfunc\r
 ;-----------------------------------------------------------\r
 \r
        .align 2\r
-       \r
+\r
 vPortCooperativeTickISR: .asmfunc\r
-       \r
+\r
        ; The sr is not saved in portSAVE_CONTEXT() because vPortYield() needs\r
        ;to save it manually before it gets modified (interrupts get disabled).\r
        push.w sr\r
        portSAVE_CONTEXT\r
-                               \r
-       call_x  #vTaskIncrementTick\r
-               \r
+\r
+       call_x  #xTaskIncrementTick\r
+\r
        portRESTORE_CONTEXT\r
-       \r
+\r
        .endasmfunc\r
 ;-----------------------------------------------------------\r
 \r
@@ -145,16 +148,16 @@ vPortYield: .asmfunc
 \r
        ; The sr needs saving before it is modified.\r
        push.w  sr\r
-       \r
+\r
        ; Now the SR is stacked we can disable interrupts.\r
-       dint    \r
+       dint\r
        nop\r
-                               \r
+\r
        ; Save the context of the current task.\r
-       portSAVE_CONTEXT                        \r
+       portSAVE_CONTEXT\r
 \r
        ; Select the next task to run.\r
-       call_x  #vTaskSwitchContext             \r
+       call_x  #vTaskSwitchContext\r
 \r
        ; Restore the context of the new task.\r
        portRESTORE_CONTEXT\r
@@ -168,7 +171,7 @@ vPortYield: .asmfunc
 ;\r
 \r
        .align 2\r
-       \r
+\r
 xPortStartScheduler: .asmfunc\r
 \r
        ; Setup the hardware to generate the tick.  Interrupts are disabled\r
@@ -179,6 +182,6 @@ xPortStartScheduler: .asmfunc
        portRESTORE_CONTEXT\r
        .endasmfunc\r
 ;-----------------------------------------------------------\r
-               \r
+\r
        .end\r
-               \r
+\r