From ac765f6a3c44eefcaee572e199ebabd667751297 Mon Sep 17 00:00:00 2001 From: RichardBarry Date: Tue, 19 May 2009 10:33:12 +0000 Subject: [PATCH] Added vTaskGetRunTimeStats() prototype. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@722 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- Source/include/task.h | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/Source/include/task.h b/Source/include/task.h index dc9d55fba..b41a68f13 100644 --- a/Source/include/task.h +++ b/Source/include/task.h @@ -837,9 +837,8 @@ unsigned portBASE_TYPE uxTaskGetNumberOfTasks( void ); * task. h *
void vTaskList( portCHAR *pcWriteBuffer );
* - * configUSE_TRACE_FACILITY, INCLUDE_vTaskDelete and INCLUDE_vTaskSuspend - * must all be defined as 1 for this function to be available. - * See the configuration section for more information. + * configUSE_TRACE_FACILITY must be defined as 1 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. @@ -860,6 +859,40 @@ unsigned portBASE_TYPE uxTaskGetNumberOfTasks( void ); */ void vTaskList( signed portCHAR *pcWriteBuffer ); +/** + * task. h + *
void vTaskGetRunTimeStats( portCHAR *pcWriteBuffer );
+ * + * configGENERATE_RUN_TIME_STATS must 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 timers current count value respectively. A 1uS timer + * frequency is recommended for a 32bit peripheral counter - this will + * allow the statistics to be gathered over the first (approximately) 70 + * minutes of execution. + * + * NOTE: This function will disable interrupts for its duration. It is + * not intended for normal application runtime use but as a debug aid. + * + * Setting configGENERATE_RUN_TIME_STATS to 1 will result in a total + * accumulated execution time being stored for each task. The resolution + * of the accumulated time value depends on the frequency of the timer + * configured by the portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() macro. + * Calling vTaskGetRunTimeStats() writes the total execution time of each + * task into a buffer, both as an absolute count value and as a percentage + * of the total system execution time. + * + * @param pcWriteBuffer A buffer into which the execution times will be + * written, in ascii form. This buffer is assumed to be large enough to + * contain the generated report. Approximately 40 bytes per task should + * be sufficient. + * + * \page vTaskGetRunTimeStats vTaskGetRunTimeStats + * \ingroup TaskUtils + */ +void vTaskGetRunTimeStats( signed portCHAR *pcWriteBuffer ); + /** * task. h *
void vTaskStartTrace( portCHAR * pcBuffer, unsigned portBASE_TYPE uxBufferSize );
-- 2.39.2