]> git.sur5r.net Git - freertos/commitdiff
Convert more ports to use xTaskIncrementTick() in place of vTaskIncrementTick().
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Thu, 6 Jun 2013 16:31:15 +0000 (16:31 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Thu, 6 Jun 2013 16:31:15 +0000 (16:31 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1917 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

18 files changed:
FreeRTOS/Source/portable/IAR/ATMega323/port.c
FreeRTOS/Source/portable/IAR/ATMega323/portmacro.s90
FreeRTOS/Source/portable/IAR/AVR32_UC3/port.c
FreeRTOS/Source/portable/IAR/AtmelSAM7S64/port.c
FreeRTOS/Source/portable/IAR/AtmelSAM7S64/portasm.s79
FreeRTOS/Source/portable/IAR/AtmelSAM9XE/port.c
FreeRTOS/Source/portable/IAR/LPC2000/port.c
FreeRTOS/Source/portable/IAR/LPC2000/portasm.s79
FreeRTOS/Source/portable/IAR/MSP430/portext.s43
FreeRTOS/Source/portable/IAR/MSP430X/portext.s43
FreeRTOS/Source/portable/IAR/RL78/portasm.s87
FreeRTOS/Source/portable/IAR/RX100/port.c
FreeRTOS/Source/portable/IAR/STR71x/port.c
FreeRTOS/Source/portable/IAR/STR75x/port.c
FreeRTOS/Source/portable/IAR/STR91x/port.c
FreeRTOS/Source/portable/IAR/V850ES/portasm.s85
FreeRTOS/Source/portable/IAR/V850ES/portasm_Fx3.s85
FreeRTOS/Source/portable/IAR/V850ES/portasm_Hx2.s85

index 376316647c36d952b3f4a9a17fe370e5ad71b029..e8015c1a795823d54dafebb5f2caf22404985dc9 100644 (file)
     ***************************************************************************\r
 \r
 \r
-    http://www.FreeRTOS.org - Documentation, books, training, latest versions, \r
+    http://www.FreeRTOS.org - Documentation, books, training, latest versions,\r
     license and Real Time Engineers Ltd. contact details.\r
 \r
     http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
     including FreeRTOS+Trace - an indispensable productivity tool, and our new\r
     fully thread aware and reentrant UDP/IP stack.\r
 \r
-    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High \r
-    Integrity Systems, who sell the code with commercial support, \r
+    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High\r
+    Integrity Systems, who sell the code with commercial support,\r
     indemnification and middleware, under the OpenRTOS brand.\r
-    \r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety \r
-    engineered and independently SIL3 certified version for use in safety and \r
+\r
+    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
+    engineered and independently SIL3 certified version for use in safety and\r
     mission critical applications that require provable dependability.\r
 */\r
 \r
@@ -147,7 +147,7 @@ portSTACK_TYPE *pxTopOfHardwareStack;
        hardware call stack which uses the AVR stack pointer.  Second there is the\r
        software stack (local variables, parameter passing, etc.) which uses the\r
        AVR Y register.\r
-       \r
+\r
        This function places both stacks within the memory block passed in as the\r
        first parameter.  The hardware stack is placed at the bottom of the memory\r
        block.  A gap is then left for the hardware stack to grow.  Next the software\r
@@ -349,7 +349,7 @@ unsigned char ucHighByte, ucLowByte;
                vPortYieldFromTick();\r
                asm( "reti" );\r
        }\r
-       \r
+\r
 #else\r
 \r
        /*\r
@@ -359,10 +359,10 @@ unsigned char ucHighByte, ucLowByte;
         *\r
         * THE INTERRUPT VECTOR IS POPULATED IN portmacro.s90.  DO NOT INSTALL\r
         * IT HERE USING THE USUAL PRAGMA.\r
-        */             \r
+        */\r
        __interrupt void SIG_OUTPUT_COMPARE1A( void )\r
        {\r
-               vTaskIncrementTick();\r
+               xTaskIncrementTick();\r
        }\r
 #endif\r
 /*-----------------------------------------------------------*/\r
@@ -383,4 +383,4 @@ void vPortExitCritical( void )
        }\r
 }\r
 \r
-       \r
+\r
index 25e6df9d4451de73065907abe6d4d700dfa35ff8..7e892caf715af07c2ffa436b6654bfd7c7768ccf 100644 (file)
@@ -67,7 +67,7 @@ EXTERN SIG_UART_DATA
 ; ---------------------------\r
 EXTERN vTaskSwitchContext\r
 EXTERN pxCurrentTCB\r
-EXTERN vTaskIncrementTick\r
+EXTERN xTaskIncrementTick\r
 EXTERN uxCriticalNesting\r
 \r
 ; Functions implemented in this file\r
@@ -243,7 +243,7 @@ vPortYield:
 \r
 vPortYieldFromTick:\r
        portSAVE_CONTEXT                        ; Save the context of the current task.\r
-       call vTaskIncrementTick         ; Call the timer tick function.\r
+       call xTaskIncrementTick         ; Call the timer tick function.\r
        call vTaskSwitchContext         ; Call the scheduler.\r
        portRESTORE_CONTEXT                     ; Restore the context of whichever task the ...\r
        ret                                                     ; ... scheduler decided should run.\r
index e5b6846974198b94404989d47e344ef8d18bea03..c83d6389852b34b629ddc87185649dc08cc95819 100644 (file)
@@ -220,7 +220,7 @@ static void vTick( void )
        /* Because FreeRTOS is not supposed to run with nested interrupts, put all OS\r
        calls in a critical section . */\r
        portENTER_CRITICAL();\r
-               vTaskIncrementTick();\r
+               xTaskIncrementTick();\r
        portEXIT_CRITICAL();\r
 \r
        /* Restore the context of the "elected task". */\r
index 6196c0306b6217120020953ca700fb765e11e2a1..90742975f0234a0a3010084d98fdad8e1ca7e809 100644 (file)
@@ -226,7 +226,7 @@ void vPortEndScheduler( void )
                /* Increment the tick count - which may wake some tasks but as the\r
                preemptive scheduler is not being used any woken task is not given\r
                processor time no matter what its priority. */\r
-               vTaskIncrementTick();\r
+               xTaskIncrementTick();\r
                \r
                /* Clear the PIT interrupt. */\r
                ulDummy = AT91C_BASE_PITC->PITC_PIVR;\r
index 7bfca81426285032fd6c5c557afc5b65886f52d5..8752bec8ade2c657e3b0121e3a2f1a329d16cfb1 100644 (file)
@@ -54,7 +54,7 @@
                CODE32\r
 \r
        EXTERN vTaskSwitchContext\r
-       EXTERN vTaskIncrementTick\r
+       EXTERN xTaskIncrementTick\r
 \r
        PUBLIC vPortYieldProcessor\r
        PUBLIC vPortPreemptiveTick\r
@@ -91,7 +91,7 @@ vPortYieldProcessor:
 vPortPreemptiveTick:\r
        portSAVE_CONTEXT                        ; Save the context of the current task.\r
 \r
-       LDR R0, =vTaskIncrementTick ; Increment the tick count - this may wake a task.\r
+       LDR R0, =xTaskIncrementTick ; Increment the tick count - this may wake a task.\r
        mov lr, pc\r
        BX R0\r
        LDR R0, =vTaskSwitchContext ; Select the next task to execute.\r
index c04faa6841e51b16f630acb3670190970b15a83d..f87e4516228ec677ac623da56b6d7d34ccdfb318 100644 (file)
@@ -237,11 +237,10 @@ volatile unsigned long ulDummy;
        /* Increment the tick count - which may wake some tasks but as the\r
        preemptive scheduler is not being used any woken task is not given\r
        processor time no matter what its priority. */\r
-       vTaskIncrementTick();\r
-\r
-       #if configUSE_PREEMPTION == 1\r
+       if( xTaskIncrementTick() != pdFALSE )\r
+       {\r
                vTaskSwitchContext();\r
-       #endif  \r
+       }\r
                \r
        /* Clear the PIT interrupt. */\r
        ulDummy = AT91C_BASE_PITC->PITC_PIVR;\r
index e41de310bdf3887a64d0e3c0293feefecc1db483..97259e4eb6170375489e673def3d2a1414030912 100644 (file)
@@ -244,7 +244,7 @@ void vPortEndScheduler( void )
                /* Increment the tick count - which may wake some tasks but as the\r
                preemptive scheduler is not being used any woken task is not given\r
                processor time no matter what its priority. */\r
-               vTaskIncrementTick();\r
+               xTaskIncrementTick();\r
                \r
                /* Ready for the next interrupt. */\r
                T0IR = portTIMER_MATCH_ISR_BIT;\r
@@ -259,12 +259,13 @@ void vPortEndScheduler( void )
        void vPortPreemptiveTick( void )\r
        {\r
                /* Increment the tick counter. */\r
-               vTaskIncrementTick();\r
-       \r
-               /* The new tick value might unblock a task.  Ensure the highest task that\r
-               is ready to execute is the task that will execute when the tick ISR\r
-               exits. */\r
-               vTaskSwitchContext();\r
+               if( xTaskIncrementTick() != pdFALSE )\r
+               {       \r
+                       /* The new tick value might unblock a task.  Ensure the highest task that\r
+                       is ready to execute is the task that will execute when the tick ISR\r
+                       exits. */\r
+                       vTaskSwitchContext();\r
+               }\r
        \r
                /* Ready for the next interrupt. */\r
                T0IR = portTIMER_MATCH_ISR_BIT;\r
index 0a2086274f314446fad11810cfbc6303d08ae46b..6277291a77a509406ecb9eaee8141500e595c8ce 100644 (file)
@@ -54,7 +54,6 @@
                CODE32\r
 \r
        EXTERN vTaskSwitchContext\r
-       EXTERN vTaskIncrementTick\r
        EXTERN vPortPreemptiveTick\r
        \r
        PUBLIC vPortPreemptiveTickEntry\r
index d759c861314446ef61b929a013feb4e8510c670f..5ed4f17239ed9b32b2a5c422998ae5afcf8b124c 100644 (file)
@@ -74,7 +74,7 @@
 #include "FreeRTOSConfig.h"\r
 #include "portasm.h"\r
 \r
-       IMPORT vTaskIncrementTick\r
+       IMPORT xTaskIncrementTick\r
        IMPORT vTaskSwitchContext\r
        IMPORT vPortSetupTimerInterrupt\r
 \r
@@ -95,7 +95,7 @@
 vTickISR:\r
        portSAVE_CONTEXT\r
                                \r
-       call    #vTaskIncrementTick\r
+       call    #xTaskIncrementTick\r
 \r
        #if configUSE_PREEMPTION == 1\r
                call    #vTaskSwitchContext\r
index 04113ca14d3f88406d9fa3a6d0c84fca5cc53e7f..fdd71049880d863133396846c78f007425b4920d 100644 (file)
@@ -75,7 +75,7 @@
 #include "FreeRTOSConfig.h"\r
 #include "data_model.h"\r
 \r
-       IMPORT vTaskIncrementTick\r
+       IMPORT xTaskIncrementTick\r
        IMPORT vTaskSwitchContext\r
        IMPORT vPortSetupTimerInterrupt\r
        IMPORT pxCurrentTCB\r
@@ -130,7 +130,7 @@ vPortTickISR:
        push.w sr\r
        portSAVE_CONTEXT\r
 \r
-       calla   #vTaskIncrementTick\r
+       calla   #xTaskIncrementTick\r
 \r
        #if configUSE_PREEMPTION == 1\r
                calla   #vTaskSwitchContext\r
index d789787e78405917fc92f8c1d68ed8b0cc26091e..6da1fb179cae63948cb551413200984e41f5b9d6 100644 (file)
@@ -61,7 +61,7 @@
        PUBLIC    vPortTickISR\r
 \r
        EXTERN    vTaskSwitchContext\r
-       EXTERN    vTaskIncrementTick\r
+       EXTERN    xTaskIncrementTick\r
 \r
 ; FreeRTOS yield handler.  This is installed as the BRK software interrupt\r
 ; handler.\r
@@ -87,7 +87,7 @@ vPortStartFirstTask:
 vPortTickISR:\r
 \r
        portSAVE_CONTEXT                        ; Save the context of the current task.\r
-       call      vTaskIncrementTick    ; Call the timer tick function.\r
+       call      xTaskIncrementTick    ; Call the timer tick function.\r
 #if configUSE_PREEMPTION == 1\r
        call      vTaskSwitchContext    ; Call the scheduler to select the next task.\r
 #endif\r
index 23b04391e644e32e4235d1fea9545d0151baf402..21fb160db1cbd38fc7d4b696efee4ea7568dc1ae 100644 (file)
@@ -304,17 +304,13 @@ __interrupt static void prvTickISR( void )
        necessitates. */\r
        __set_interrupt_level( configMAX_SYSCALL_INTERRUPT_PRIORITY );\r
        {\r
-               vTaskIncrementTick();\r
+               if( xTaskIncrementTick() != pdFALSE )\r
+               {\r
+                       taskYIELD();\r
+               }\r
        }\r
        __set_interrupt_level( configKERNEL_INTERRUPT_PRIORITY );\r
 \r
-       /* Only select a new task if the preemptive scheduler is being used. */\r
-       #if( configUSE_PREEMPTION == 1 )\r
-       {\r
-               taskYIELD();\r
-       }\r
-       #endif\r
-\r
        #if configUSE_TICKLESS_IDLE == 1\r
        {\r
                /* The CPU woke because of a tick. */\r
index 7d0a14588c14a7f2bb75d997026d0f70c00e4880..2218b56ea2489efb0cebf53a7af76afdc393bc51 100644 (file)
@@ -225,7 +225,7 @@ __arm __irq void vPortNonPreemptiveTick( void )
        /* Increment the tick count - which may wake some tasks but as the\r
        preemptive scheduler is not being used any woken task is not given\r
        processor time no matter what its priority. */\r
-       vTaskIncrementTick();\r
+       xTaskIncrementTick();\r
 \r
        /* Clear the interrupt in the watchdog and EIC. */\r
        WDG->SR = 0x0000;\r
@@ -238,12 +238,11 @@ keyword. */
 void vPortPreemptiveTick( void )\r
 {\r
        /* Increment the tick counter. */\r
-       vTaskIncrementTick();\r
-\r
-       /* The new tick value might unblock a task.  Ensure the highest task that\r
-       is ready to execute is the task that will execute when the tick ISR\r
-       exits. */\r
-       vTaskSwitchContext();\r
+       if( xTaskIncrementTick() != pdFALSE )\r
+       {\r
+               /* Select a new task to execute. */\r
+               vTaskSwitchContext();\r
+       }\r
 \r
        /* Clear the interrupt in the watchdog and EIC. */\r
        WDG->SR = 0x0000;\r
index 26e6568878c0d52e6618261736dd7df90862acc8..7f2f49f2cdb8c52a4e850c36ebc4cd5bd07f2f08 100644 (file)
@@ -209,15 +209,12 @@ void vPortEndScheduler( void )
 __arm void vPortPreemptiveTick( void )\r
 {\r
        /* Increment the tick counter. */\r
-       vTaskIncrementTick();\r
-\r
-       /* The new tick value might unblock a task.  Ensure the highest task that\r
-       is ready to execute is the task that will execute when the tick ISR\r
-       exits. */\r
-       #if configUSE_PREEMPTION == 1\r
+       if( xTaskIncrementTick() != pdFALSE )\r
+       {\r
+               /* Select a new task to execute. */\r
                vTaskSwitchContext();\r
-       #endif\r
-\r
+       }\r
+               \r
        TB_ClearITPendingBit( TB_IT_Update );\r
 }\r
 /*-----------------------------------------------------------*/\r
index 589bcfc484e0e310a784ea233c035372950eb6c0..24f3f4ef46a7c7fef71b1a2da2f7d92d6d902910 100644 (file)
@@ -324,16 +324,11 @@ keyword. */
        {\r
                {\r
                        /* Increment the tick counter. */\r
-                       vTaskIncrementTick();\r
-               \r
-                       #if configUSE_PREEMPTION == 1\r
-                       {\r
-                               /* The new tick value might unblock a task.  Ensure the highest task that\r
-                               is ready to execute is the task that will execute when the tick ISR\r
-                               exits. */\r
+                       if( xTaskIncrementTick() != pdFALSE )\r
+                       {               \r
+                               /* Select a new task to execute. */\r
                                vTaskSwitchContext();\r
                        }\r
-                       #endif /* configUSE_PREEMPTION. */\r
                \r
                        /* Clear the interrupt in the watchdog. */\r
                        WDG->SR &= ~0x0001;\r
index 789403801a32da2f6bf715510f13415d94f07228..5d15738429eb1b9dd35f1e5b7e27f77975667644 100644 (file)
@@ -57,7 +57,7 @@
 ; Functions used by scheduler\r
 ;------------------------------------------------------------------------------\r
     EXTERN    vTaskSwitchContext\r
-    EXTERN    vTaskIncrementTick\r
+    EXTERN    xTaskIncrementTick\r
 \r
 ; Variables used by scheduler\r
 ;------------------------------------------------------------------------------\r
@@ -278,7 +278,7 @@ MD_INTTM0EQ0:
     stsr    1,lp\r
     st.w    lp,0[sp]                        ; store EIPSW to stack\r
     portSAVE_CONTEXT                       ; Save the context of the current task.\r
-    jarl    vTaskIncrementTick,lp           ; Call the timer tick function.\r
+    jarl    xTaskIncrementTick,lp           ; Call the timer tick function.\r
     jarl    vTaskSwitchContext,lp           ; Call the scheduler.\r
     portRESTORE_CONTEXT                            ; Restore the context of whichever task the ...\r
                                            ; ... scheduler decided should run.\r
@@ -297,7 +297,7 @@ MD_INTTM0EQ0:
     prepare {lp,ep},8,sp\r
     sst.w   r1,4[ep]\r
     sst.w   r5,0[ep]\r
-    jarl    vTaskIncrementTick,lp           ; Call the timer tick function.\r
+    jarl    xTaskIncrementTick,lp           ; Call the timer tick function.\r
     sld.w   0[ep],r5\r
     sld.w   4[ep],r1\r
     dispose 8,{lp,ep}\r
index 7776144b460b05510f4956a12e7598598792f9e4..bd2453fb33fff8bf0b43deae3af45d5880b999cf 100644 (file)
@@ -57,7 +57,7 @@
 ; Functions used by scheduler\r
 ;------------------------------------------------------------------------------\r
     EXTERN    vTaskSwitchContext\r
-    EXTERN    vTaskIncrementTick\r
+    EXTERN    xTaskIncrementTick\r
 \r
 ; Variables used by scheduler\r
 ;------------------------------------------------------------------------------\r
@@ -287,7 +287,7 @@ MD_INTTM0EQ0:
     stsr    1,lp\r
     st.w    lp,0[sp]                        ; store EIPSW to stack\r
     portSAVE_CONTEXT                       ; Save the context of the current task.\r
-    jarl    vTaskIncrementTick,lp           ; Call the timer tick function.\r
+    jarl    xTaskIncrementTick,lp           ; Call the timer tick function.\r
     jarl    vTaskSwitchContext,lp           ; Call the scheduler.\r
     portRESTORE_CONTEXT                            ; Restore the context of whichever task the ...\r
                                            ; ... scheduler decided should run.\r
@@ -306,7 +306,7 @@ MD_INTTM0EQ0:
     prepare {lp,ep},8,sp\r
     sst.w   r1,4[ep]\r
     sst.w   r5,0[ep]\r
-    jarl    vTaskIncrementTick,lp           ; Call the timer tick function.\r
+    jarl    xTaskIncrementTick,lp           ; Call the timer tick function.\r
     sld.w   0[ep],r5\r
     sld.w   4[ep],r1\r
     dispose 8,{lp,ep}\r
index 05b85fca9c605fd71c590b2c3d670596667db6f3..985bc9deb9e85e9ba989a4283c01ab884b24bb36 100644 (file)
@@ -57,7 +57,7 @@
 ; Functions used by scheduler\r
 ;------------------------------------------------------------------------------\r
     EXTERN    vTaskSwitchContext\r
-    EXTERN    vTaskIncrementTick\r
+    EXTERN    xTaskIncrementTick\r
 \r
 ; Variables used by scheduler\r
 ;------------------------------------------------------------------------------\r
@@ -278,7 +278,7 @@ MD_INTTM0EQ0:
     stsr    1,lp\r
     st.w    lp,0[sp]                        ; store EIPSW to stack\r
     portSAVE_CONTEXT                       ; Save the context of the current task.\r
-    jarl    vTaskIncrementTick,lp           ; Call the timer tick function.\r
+    jarl    xTaskIncrementTick,lp           ; Call the timer tick function.\r
     jarl    vTaskSwitchContext,lp           ; Call the scheduler.\r
     portRESTORE_CONTEXT                            ; Restore the context of whichever task the ...\r
                                            ; ... scheduler decided should run.\r
@@ -297,7 +297,7 @@ MD_INTTM0EQ0:
     prepare {lp,ep},8,sp\r
     sst.w   r1,4[ep]\r
     sst.w   r5,0[ep]\r
-    jarl    vTaskIncrementTick,lp           ; Call the timer tick function.\r
+    jarl    xTaskIncrementTick,lp           ; Call the timer tick function.\r
     sld.w   0[ep],r5\r
     sld.w   4[ep],r1\r
     dispose 8,{lp,ep}\r