頭文件定義
/********************************************************************
FreeRTOS與運行時間和任務狀態收集有關的配置選項
**********************************************************************/
//啓用運行時間統計功能
#define configGENERATE_RUN_TIME_STATS 1
//啓用可視化跟蹤調試
#define configUSE_TRACE_FACILITY 1
/* 與宏configUSE_TRACE_FACILITY同時爲1時會編譯下面3個函數
* prvWriteNameToBuffer()
* vTaskList(),
* vTaskGetRunTimeStats()
*/
#define configUSE_STATS_FORMATTING_FUNCTIONS 1
extern volatile uint32_t CPU_RunTime;
#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() (CPU_RunTime = 0ul)
#define portGET_RUN_TIME_COUNTER_VALUE() CPU_RunTime
任務查詢CPU使用率
根據查詢信息可以進行優化
memset(CPU_RunInfo,0,400); //信息緩衝區清零
vTaskList((char *)&CPU_RunInfo); //獲取任務運行時間信息
printf("---------------------------------------------\r\n");
printf("任務名 任務狀態 優先級 剩餘棧 任務序號\r\n");
printf("%s", CPU_RunInfo);
printf("---------------------------------------------\r\n");
memset(CPU_RunInfo,0,400); //信息緩衝區清零
vTaskGetRunTimeStats((char *)&CPU_RunInfo);
printf("任務名 運行計數 使用率\r\n");
printf("%s", CPU_RunInfo);
printf("---------------------------------------------\r\n\n");