ZYNQ跑freertos系统时的调试方法除了将xilinxSDK attach to running target的方法之外并不多。尤其对系统任务和CPU运行情况并没有现成的方法。现将如何查看系统任务状态和CPU运行情况的方法做一个详细说明。
1. void vTaskList( char * pcWriteBuffer )
查看任务运行状态,包含任务名称,任务运行状态,优先级,剩余栈空间,以及任务序号
使用方法:
TaskHandle_t CPUMonitorHandle;
char CPU_buff[2048];
void CPUMonitor(void)
{
while(1)
{
memset(CPU_buff, 0, 2048);
vTaskGetRunTimeStats((char*)CPU_buff);
xil_printf("%s\n\r",CPU_buff);
vTaskDelay( 1000 );
}
}
xTaskCreate((TaskFunction_t)TaskMonitor, "TaskMonitor", 0x800, NULL, tskIDLE_PRIORITY + 2, &TaskMonitorHandle);
运行结果:

2. void vTaskGetRunTimeStats( char *pcWriteBuffer )
使用该函数前要在文件FreeRTOSConfig.h中,设置宏define configGENERATE_RUN_TIME_STATS为1。
#


2756

被折叠的 条评论
为什么被折叠?



