Introduce vTaskInternalSetTimeOutState() which does not have a critical section, and add a critical section to the public version of the same.

This commit is contained in:
Richard Barry 2017-02-24 02:16:54 +00:00
parent 9b213e8c34
commit c3acc441ac
6 changed files with 33 additions and 10 deletions

View file

@ -548,7 +548,7 @@ void xPortSysTickHandler( void )
void vPortSetupTimerInterrupt( void )
{
/* Calculate the constants required to configure the tick interrupt. */
#if configUSE_TICKLESS_IDLE == 1
#if( configUSE_TICKLESS_IDLE == 1 )
{
ulTimerCountsForOneTick = ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ );
xMaximumPossibleSuppressedTicks = portMAX_24_BIT_NUMBER / ulTimerCountsForOneTick;

View file

@ -1,5 +1,5 @@
/*
FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd.
FreeRTOS V9.0.1 - Copyright (C) 2017 Real Time Engineers Ltd.
All rights reserved
VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.

View file

@ -132,12 +132,12 @@ FreeRTOS_IRQ_Handler
AND r2, r2, #4
SUB sp, sp, r2
PUSH {r0-r3, lr}
PUSH {r0-r4, lr}
; Call the port part specific handler.
LDR r0, =vApplicationIRQHandler
BLX r0
POP {r0-r3, lr}
POP {r0-r4, lr}
ADD sp, sp, r2
CPSID i