【FreeRTOS】CPU使用率

頭文件定義

/********************************************************************
          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");
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章