]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/IAR/ATMega323/portmacro.s90
Update version number to 9.0.0rc2.
[freertos] / FreeRTOS / Source / portable / IAR / ATMega323 / portmacro.s90
index 750a54f82fb45bb4badf4604101891a2e6fd17a9..3e6383ebeaa73a53a9e7873831068fdf01d24e91 100644 (file)
@@ -1,6 +1,7 @@
 ;/*\r
-;    FreeRTOS V7.2.0 - Copyright (C) 2012 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
@@ -67,7 +68,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
@@ -103,7 +104,7 @@ PUBLIC vPortStart
        ORG USART_UDRE_vect                                     ; Vector address\r
                jmp SIG_UART_DATA                               ; ISR\r
 \r
-       \r
+\r
        RSEG CODE\r
 \r
 \r
@@ -222,7 +223,7 @@ portRESTORE_CONTEXT MACRO
        out SREG, r0\r
 \r
        ld      r0, y+                                  ; Finally we have finished with r0, so restore r0.\r
-       \r
+\r
        ENDM\r
 \r
 \r
@@ -243,8 +244,11 @@ 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
+       tst r16\r
+       breq SkipTaskSwitch\r
        call vTaskSwitchContext         ; Call the scheduler.\r
+SkipTaskSwitch:\r
        portRESTORE_CONTEXT                     ; Restore the context of whichever task the ...\r
        ret                                                     ; ... scheduler decided should run.\r
 \r