RTOS UCOSII统计任务堆栈使用/剩余大小及使用率

 时间:2024-10-14 07:55:06

1、编写统计任务堆栈使用/剩余大小及使用率的函数。#defineOS_TASK_S哌囿亡噱TAT_EN1u/*Enable(1)orDisable(0)thestatisticstask*/#defineOS_TMR_EN1u/*Enable(1)orDisable(0)codegenerationforTIMERS*//*********************************************************************************************************************************************** 函数名 : vAppTask_DebugInfo* 描 述 : 应用任务调试信息**********************************************************************************************************************************************/static void vAppTask_DebugInfo(void){ OS_TCB * ptcb = &OSTCBTbl[0];//Table TCB OS_STK_DATA stkDat; printf("************************************ App Task Debug Info ***********************************\r\n"); printf(" Prio Used Free Per TaskName\r\n"); while (ptcb != NULL) { OSTaskStkChk(ptcb->OSTCBPrio, &stkDat);//Check task stack printf(" %2d %5d %5d %02d%% %s\r\n", ptcb->OSTCBPrio, stkDat.OSUsed, stkDat.OSFree, (stkDat.OSUsed * 100)/(stkDat.OSUsed + stkDat.OSFree), ptcb->OSTCBTaskName); ptcb = ptcb->OSTCBPrev;//Previous TCB list } printf("\r\n");}

RTOS UCOSII统计任务堆栈使用/剩余大小及使用率
RTOS UCOSII统计任务堆栈使用/剩余大小及使用率

2、使能设置任务名的宏定义OS_TASK_NAME_EN#define OS_TASK_NAME_EN 1u//Enable task names

RTOS UCOSII统计任务堆栈使用/剩余大小及使用率
RTOS UCOSII统计任务堆栈使用/剩余大小及使用率

3、设置任务名称OSTaskNameSet()void OSTaskNameSet(INT8U prio, INT8U *pname, INT8U *perr)

RTOS UCOSII统计任务堆栈使用/剩余大小及使用率

4、统计任务堆栈使用/剩余大小及使用率效打印效果如下。*******涯箨唁峦***************************** App Task Debug Info *********忮氽阝另************************** Prio Used Free Per TaskName 63 15 113 11% uC/OS-II Idle 62 21 107 16% uC/OS-II Stat 0 25 103 19% uC/OS-II Tmr 5 66 14 82% Start 10 66 34 66% USART3 9 27 73 27% USART2 11 27 73 27% IWDG 12 52 48 52% Queue 3 27 73 27% Debug

RTOS UCOSII统计任务堆栈使用/剩余大小及使用率
RTOS UCOSII统计任务堆栈使用/剩余大小及使用率
RTOS UCOSII统计任务堆栈使用/剩余大小及使用率

5、UCOSII内置任务说明。uC/OS-II Idle : 为UCOSII空闲任务uC/OS-II Stat : 为UCOSII统计任务uC/OS-II Tmr : 为UCOSII软件定时器任务

RTOS UCOSII统计任务堆栈使用/剩余大小及使用率
RTOS UCOSII统计任务堆栈使用/剩余大小及使用率

6、补充说明1.uC/OS-II Idle为必须任务,不可屏蔽。2.uC/OS-II Stat和uC/OS-II Tmr为可屏蔽任务,可通过相应的宏使能。3.OS_TMR_EN为使能uC/OS-II Tmr任务的宏。4.OS_TASK_STAT_EN为使能uC/OS-II Stat任务的宏。

RTOS UCOSII统计任务堆栈使用/剩余大小及使用率
RTOS UCOSII统计任务堆栈使用/剩余大小及使用率
  • Cadence中处理PCB的pcb Editor介绍
  • solidworks如何快速设置仿真属性
  • java中怎样获取静态变量的值
  • Notepad++怎么高亮显示标签属性
  • 借用人的慧打造物的智加以分析是什么
  • 热门搜索
    文明礼仪知识手抄报 趣味语文手抄报 圣诞节英语手抄报内容 没有字的手抄报 数学手抄报大全 读好书手抄报内容 消防的手抄报 诚信守法手抄报 保护环境手抄报素材 法制校园手抄报