mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-08-24 20:18:37 -04:00
+ Moved the History.txt file from the website git repo into the source code SVN repo.
+ Added xTaskCatchUpTicks() which corrects the tick count value after the application code has held interrupts disabled for an extended period. + Updated the xTaskResumeAll() implementation so it uses the new xTaskCatchUpTicks() function mentioned above to unwind ticks that were pended while the scheduler was suspended. + Various maintenance on the message buffer, stream buffer and abort delay demos. + Change type of uxPendedTicks from UBaseType_t to TickType_t to ensure it has same type as variables it is compared to, and therefore also rename the variable xPendingTicks. + Correct spelling mistake within a comment that was common to all the ARMv7-M ports.
This commit is contained in:
parent
72af51cd86
commit
7d285f3dcb
20 changed files with 2835 additions and 59 deletions
|
@ -1738,7 +1738,7 @@ void vTaskGetRunTimeStats( char *pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lint !e9
|
|||
|
||||
/**
|
||||
* task. h
|
||||
* <PRE>TickType_t xTaskGetIdleRunTimeCounter( void );</PRE>
|
||||
* <PRE>uint32_t ulTaskGetIdleRunTimeCounter( void );</PRE>
|
||||
*
|
||||
* configGENERATE_RUN_TIME_STATS and configUSE_STATS_FORMATTING_FUNCTIONS
|
||||
* must both be defined as 1 for this function to be available. The application
|
||||
|
@ -1753,7 +1753,7 @@ void vTaskGetRunTimeStats( char *pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lint !e9
|
|||
* of the accumulated time value depends on the frequency of the timer
|
||||
* configured by the portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() macro.
|
||||
* While uxTaskGetSystemState() and vTaskGetRunTimeStats() writes the total
|
||||
* execution time of each task into a buffer, xTaskGetIdleRunTimeCounter()
|
||||
* execution time of each task into a buffer, ulTaskGetIdleRunTimeCounter()
|
||||
* returns the total execution time of just the idle task.
|
||||
*
|
||||
* @return The total run time of the idle task. This is the amount of time the
|
||||
|
@ -1761,10 +1761,10 @@ void vTaskGetRunTimeStats( char *pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lint !e9
|
|||
* frequency configured using the portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and
|
||||
* portGET_RUN_TIME_COUNTER_VALUE() macros.
|
||||
*
|
||||
* \defgroup xTaskGetIdleRunTimeCounter xTaskGetIdleRunTimeCounter
|
||||
* \defgroup ulTaskGetIdleRunTimeCounter ulTaskGetIdleRunTimeCounter
|
||||
* \ingroup TaskUtils
|
||||
*/
|
||||
TickType_t xTaskGetIdleRunTimeCounter( void ) PRIVILEGED_FUNCTION;
|
||||
uint32_t ulTaskGetIdleRunTimeCounter( void ) PRIVILEGED_FUNCTION;
|
||||
|
||||
/**
|
||||
* task. h
|
||||
|
@ -2383,6 +2383,19 @@ void vTaskSetTaskNumber( TaskHandle_t xTask, const UBaseType_t uxHandle ) PRIVIL
|
|||
*/
|
||||
void vTaskStepTick( const TickType_t xTicksToJump ) PRIVILEGED_FUNCTION;
|
||||
|
||||
/* Correct the tick count value after the application code has held
|
||||
interrupts disabled for an extended period. xTicksToCatchUp is the number
|
||||
of tick interrupts that have been missed due to interrupts being disabled.
|
||||
Its value is not computed automatically, so must be computed by the
|
||||
application writer.
|
||||
|
||||
This function is similar to vTaskStepTick(), however, unlike
|
||||
vTaskStepTick(), xTaskCatchUpTicks() may move the tick count forward past a
|
||||
time at which a task should be removed from the blocked state. That means
|
||||
tasks may have to be removed from the blocked state as the tick count is
|
||||
moved. */
|
||||
BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp ) PRIVILEGED_FUNCTION;
|
||||
|
||||
/*
|
||||
* Only available when configUSE_TICKLESS_IDLE is set to 1.
|
||||
* Provided for use within portSUPPRESS_TICKS_AND_SLEEP() to allow the port
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue