]> git.sur5r.net Git - freertos/commitdiff
Add the .align, .asmfunc and .endasmfunc directives to the CCS MSP430X port layer.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Thu, 13 Jan 2011 10:36:42 +0000 (10:36 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Thu, 13 Jan 2011 10:36:42 +0000 (10:36 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1246 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Source/portable/CCS4/MSP430X/portext.asm

index 1e09101f7fe47a1f2bce5aba9497132c797bf862..5bbb4f19f8eee5f362fe6de91acd09d97e445480 100644 (file)
@@ -107,8 +107,9 @@ portRESTORE_CONTEXT .macro
 ;*/\r
        \r
        .text\r
+       .align 2\r
        \r
-vPortPreemptiveTickISR:\r
+vPortPreemptiveTickISR: .asmfunc\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
@@ -119,9 +120,12 @@ vPortPreemptiveTickISR:
        call_x  #vTaskSwitchContext\r
                \r
        portRESTORE_CONTEXT\r
+       .endasmfunc\r
 ;-----------------------------------------------------------\r
 \r
-vPortCooperativeTickISR:\r
+       .align 2\r
+       \r
+vPortCooperativeTickISR: .asmfunc\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
@@ -131,12 +135,17 @@ vPortCooperativeTickISR:
        call_x  #vTaskIncrementTick\r
                \r
        portRESTORE_CONTEXT\r
+       \r
+       .endasmfunc\r
 ;-----------------------------------------------------------\r
 \r
-;*\r
-;* Manual context switch called by the portYIELD() macro.\r
-;*/\r
-vPortYield:\r
+;\r
+; Manual context switch called by the portYIELD() macro.\r
+;\r
+\r
+       .align 2\r
+\r
+vPortYield: .asmfunc\r
 \r
        ; The sr needs saving before it is modified.\r
        push.w  sr\r
@@ -153,14 +162,18 @@ vPortYield:
 \r
        ; Restore the context of the new task.\r
        portRESTORE_CONTEXT\r
+       .endasmfunc\r
 ;-----------------------------------------------------------\r
 \r
 \r
-;*\r
-;* Start off the scheduler by initialising the RTOS tick timer, then restoring\r
-;* the context of the first task.\r
-;*\r
-xPortStartScheduler:\r
+;\r
+; Start off the scheduler by initialising the RTOS tick timer, then restoring\r
+; the context of the first task.\r
+;\r
+\r
+       .align 2\r
+       \r
+xPortStartScheduler: .asmfunc\r
 \r
        ; Setup the hardware to generate the tick.  Interrupts are disabled\r
        ; when this function is called.\r
@@ -168,6 +181,7 @@ xPortStartScheduler:
 \r
        ; Restore the context of the first task that is going to run.\r
        portRESTORE_CONTEXT\r
+       .endasmfunc\r
 ;-----------------------------------------------------------\r
                \r
        .end\r