pcTaskGetNametask.h
xTaskGetHandletask.hTaskHandle_t xTaskGetHandle( const char *pcNameToQuery ); Looks up the handle of a task from the task's name. NOTE: This function takes a relatively long time to complete and should only be called once for each task. Once the handle of a task has been obtained it can be stored locally for re-use. INCLUDE_xTaskGetHandle must be set to 1 in FreeRTOSConfig.h for xTaskGetHandle() to be available.
xTaskGetTickCounttask.hvolatile TickType_t xTaskGetTickCount( void ); This function cannot be called from an ISR. Use xTaskGetTickCountFromISR() instead.
xTaskGetTickCountFromISRtask.hvolatile TickType_t xTaskGetTickCountFromISR( void ); A version of xTaskGetTickCount() that can be called from an ISR.
xTaskGetSchedulerStatetask.h
uxTaskGetNumberOfTaskstask.h
vTaskListtask.hvoid vTaskList( char *pcWriteBuffer ); configUSE_TRACE_FACILITY and configUSE_STATS_FORMATTING_FUNCTIONS must be defined as 1 in FreeRTOSConfig.h for this function to be available. See the configuration section for more information. NOTE: This function will disable interrupts for its duration. It is not intended for normal application runtime use but as a debug aid. This API internally calls the vTaskListTasks function and assumes that the pcWriteBuffer is of length configSTATS_BUFFER_MAX_LENGTH. This function is there only for backward compatibility. New applications are recommended to use vTaskListTasks and supply the length of the pcWriteBuffer explicitly.
vTaskListTaskstask.hvoid vTaskListTasks( char *pcWriteBuffer, size_t uxBufferLength ); configUSE_TRACE_FACILITY and configUSE_STATS_FORMATTING_FUNCTIONS must be defined as 1 in FreeRTOSConfig.h for this function to be available. See the configuration section for more information. NOTE: This function will disable interrupts for its duration. It is not intended for normal application runtime use but as a debug aid. vTaskListTasks() calls uxTaskGetSystemState(), then formats the raw data generated by uxTaskGetSystemState() into a human readable (ASCII) table that shows the state of each task, including the task's stack high water mark (the smaller the high water mark number the closer the task has come to overflowing its stack). Click here to see an example of the output generated.
In the ASCII table the following letters are used to denote the state of a task:
vTaskListTasks() is a utility function provided for convenience only. It is not considered part of the kernel.
vTaskStartTracetask.h
ulTaskEndTracetask.h
vTaskGetRunTimeStatstask.hvoid vTaskGetRunTimeStats( char *pcWriteBuffer ); configGENERATE_RUN_TIME_STATS, configUSE_STATS_FORMATTING_FUNCTIONS and configSUPPORT_DYNAMIC_ALLOCATION must all be defined as 1 for this function to be available. The application must also then provide definitions for portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and portGET_RUN_TIME_COUNTER_VALUE to configure a peripheral timer/counter and return the timer's current count value respectively. The counter should be at least 10 times the frequency of the tick count. NOTE: This function will disable interrupts for its duration. It is not intended for normal application runtime use but as a debug aid. This API internally calls the vTaskGetRunTimeStatistics function and assumes that the pcWriteBuffer is of length configSTATS_BUFFER_MAX_LENGTH. This function is there only for backward compatibility. New applications are recommended to use vTaskGetRunTimeStatistics and supply the length of the pcWriteBuffer explicitly.
vTaskGetRunTimeStatisticstask.hvoid vTaskGetRunTimeStatistics( char *pcWriteBuffer, size_t uxBufferLength ); See the Run Time Stats page for a full description of this feature. configGENERATE_RUN_TIME_STATS, configUSE_STATS_FORMATTING_FUNCTIONS and configSUPPORT_DYNAMIC_ALLOCATION must all be defined as 1 for this function to be available. The application must also then provide definitions for portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and portGET_RUN_TIME_COUNTER_VALUE to configure a peripheral timer/counter and return the timer's current count value respectively. The counter should be at least 10 times the frequency of the tick count. NOTE: This function will disable interrupts for its duration. It is not intended for normal application runtime use but as a debug aid. vTaskGetRunTimeStats() calls uxTaskGetSystemState(), then formats the raw data generated by uxTaskGetSystemState() into a human readable (ASCII) table that shows the amount of time each task has spent in the Running state (how much CPU time each task has consumed). The data is provided as both an absolute and a percentage value. The resolution of the absolute value is dependent on the frequency of the run time stats clock provided by the application. vTaskGetRunTimeStatistics() is a utility function provided for convenience only. It is not considered part of the kernel. See vTaskListTasks() for a utility function that generates information on the state of each task.
vTaskGetIdleRunTimeCountertask.hTickType_t xTaskGetIdleRunTimeCounter( void ); configGENERATE_RUN_TIME_STATS and INCLUDE_xTaskGetIdleTaskHandle must both be defined as 1 for this function to be available. The application must also then provide definitions for portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and portGET_RUN_TIME_COUNTER_VALUE to configure a peripheral timer/counter and return the timer's current count value respectively. It is recommended to make the timer at least 10 times the frequency of the tick count.
ulTaskGetRunTimeCountertask.hconfigRUN_TIME_COUNTER_TYPE ulTaskGetRunTimeCounter( const TaskHandle_t xTask ); configGENERATE_RUN_TIME_STATS must be defined as 1 for these functions to be available. The application must also then provide definitions for portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and portGET_RUN_TIME_COUNTER_VALUE() to configure a peripheral timer/counter and return the timer's current count value respectively. The counter should be at least 10 times the frequency of the tick count. Setting configGENERATE_RUN_TIME_STATS to 1 will result in a total accumulated execution time being stored for each task. ulTaskGetRunTimeCounter() returns the total execution time of the given task.
ulTaskGetRunTimePercenttask.hconfigRUN_TIME_COUNTER_TYPE ulTaskGetRunTimePercent( const TaskHandle_t xTask ); configGENERATE_RUN_TIME_STATS must be defined as 1 for these functions to be available. The application must also then provide definitions for portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and portGET_RUN_TIME_COUNTER_VALUE() to configure a peripheral timer/counter and return the timer's current count value respectively. The counter should be at least 10 times the frequency of the tick count. Setting configGENERATE_RUN_TIME_STATS to 1 will result in a total accumulated execution time being stored for each task. ulTaskGetRunTimePercent() returns the percentage of the CPU time used by the given task.
ulTaskGetIdleRunTimeCountertask.hconfigRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimeCounter( void ); configGENERATE_RUN_TIME_STATS must be defined as 1 for these functions to be available. The application must also then provide definitions for portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and portGET_RUN_TIME_COUNTER_VALUE() to configure a peripheral timer/counter and return the timers current count value respectively. The counter should be at least 10 times the frequency of the tick count. Setting configGENERATE_RUN_TIME_STATS to 1 will result in a total accumulated execution time being stored for each task. ulTaskGetIdleRunTimeCounter() returns the total execution time of the Idle task. Note the amount of idle time is only a good measure of the slack time in a system if there are no other tasks executing at the idle priority, tickless idle is not used, and configIDLE_SHOULD_YIELD is set to 0.
ulTaskGetIdleRunTimePercenttask.hconfigRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimePercent( void ); configGENERATE_RUN_TIME_STATS must be defined as 1 for these functions to be available. The application must also then provide definitions for portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and portGET_RUN_TIME_COUNTER_VALUE() to configure a peripheral timer/counter and return the timers current count value respectively. The counter should be at least 10 times the frequency of the tick count. Setting configGENERATE_RUN_TIME_STATS to 1 will result in a total accumulated execution time being stored for each task. ulTaskGetIdleRunTimePercent() returns the percentage of the CPU time used by the Idle task. Note the amount of idle time is only a good measure of the slack time in a system if there are no other tasks executing at the idle priority, tickless idle is not used, and configIDLE_SHOULD_YIELD is set to 0.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|