]> git.sur5r.net Git - freertos/commitdiff
Added vTaskGetRunTimeStats() prototype.
authorRichardBarry <RichardBarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Tue, 19 May 2009 10:33:12 +0000 (10:33 +0000)
committerRichardBarry <RichardBarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Tue, 19 May 2009 10:33:12 +0000 (10:33 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@722 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Source/include/task.h

index dc9d55fba4271c0e50f03b17694d9f647f8d3820..b41a68f13c17acf7c58f2cbe1307bbe75fbfdbd5 100644 (file)
@@ -837,9 +837,8 @@ unsigned portBASE_TYPE uxTaskGetNumberOfTasks( void );
  * task. h\r
  * <PRE>void vTaskList( portCHAR *pcWriteBuffer );</PRE>\r
  *\r
- * configUSE_TRACE_FACILITY, INCLUDE_vTaskDelete and INCLUDE_vTaskSuspend\r
- * must all be defined as 1 for this function to be available.\r
- * See the configuration section for more information.\r
+ * configUSE_TRACE_FACILITY must be defined as 1 for this function to be \r
+ * available.  See the configuration section for more information.\r
  *\r
  * NOTE: This function will disable interrupts for its duration.  It is\r
  * not intended for normal application runtime use but as a debug aid.\r
@@ -860,6 +859,40 @@ unsigned portBASE_TYPE uxTaskGetNumberOfTasks( void );
  */\r
 void vTaskList( signed portCHAR *pcWriteBuffer );\r
 \r
+/**\r
+ * task. h\r
+ * <PRE>void vTaskGetRunTimeStats( portCHAR *pcWriteBuffer );</PRE>\r
+ *\r
+ * configGENERATE_RUN_TIME_STATS must be defined as 1 for this function\r
+ * to be available.  The application must also then provide definitions\r
+ * for portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and \r
+ * portGET_RUN_TIME_COUNTER_VALUE to configure a peripheral timer/counter\r
+ * and return the timers current count value respectively.  A 1uS timer\r
+ * frequency is recommended for a 32bit peripheral counter - this will\r
+ * allow the statistics to be gathered over the first (approximately) 70\r
+ * minutes of execution.\r
+ *\r
+ * NOTE: This function will disable interrupts for its duration.  It is\r
+ * not intended for normal application runtime use but as a debug aid.\r
+ *\r
+ * Setting configGENERATE_RUN_TIME_STATS to 1 will result in a total\r
+ * accumulated execution time being stored for each task.  The resolution\r
+ * of the accumulated time value depends on the frequency of the timer\r
+ * configured by the portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() macro.\r
+ * Calling vTaskGetRunTimeStats() writes the total execution time of each\r
+ * task into a buffer, both as an absolute count value and as a percentage\r
+ * of the total system execution time.\r
+ *\r
+ * @param pcWriteBuffer A buffer into which the execution times will be \r
+ * written, in ascii form.  This buffer is assumed to be large enough to \r
+ * contain the generated report.  Approximately 40 bytes per task should \r
+ * be sufficient.\r
+ *\r
+ * \page vTaskGetRunTimeStats vTaskGetRunTimeStats\r
+ * \ingroup TaskUtils\r
+ */\r
+void vTaskGetRunTimeStats( signed portCHAR *pcWriteBuffer );\r
+\r
 /**\r
  * task. h\r
  * <PRE>void vTaskStartTrace( portCHAR * pcBuffer, unsigned portBASE_TYPE uxBufferSize );</PRE>\r