- 简述
- CPU利用率其实就是系统运行程序占用的CPU资源,表示处理器在某段时间程序运行的状况
- 如果这段时间中,程序一直占用CPU的使用权,可认为CPU利用率是100%
- uC/OS的CPU利用率统计功能需要将OS_CFG_STAT_TASK_EN置1才能使用
- CPU利用率统计初始化:OSStatTaskCPUUsageInit()
- 统计原理
- 利用空闲任务一直做加法运算的这个功能
- 假设某段时间T中,CPU一直都在空闲任务中做自增运算,这个算出来的值就是CPU空闲时候的最大值(假设100)
- -----------------------,空闲任务算出来的值为80,说明空闲资源占系统的80%,其余20%是任务占用
- 利用率计算公式:CPUUsage(%) = 100 * (1 - OSStatTaskCtr / OSStatTaskCtrMax)
- CPUUsage:利用率
- OSStatTaskCtr:空闲任务运算的值
- OSStatTaskCtrMax:空闲任务中运算的最大值
- 统计原理
- 堆栈溢出检测概念及作用
- MMU和MPU是处理器上特殊硬件,可以检测非法访问,如果任务企图访问未被允许的内存空间,就会产生警告
- STM32没有上述功能,可以使用软件模拟堆栈检测,uC/OS自带
- OS_CFG_STAT_TASK_STK_CHK_EN置1
- 检测原理:
- 略
- 统计任务:OS_StatTask()
- OS_CFG_STAT_TASK_EN置1后,系统自动创建统计任务OS_StatTask();
- 它会在任务中
【13】uC/OS-III应用开发————>CPU利用率及堆栈检测统计(STM32F767)
最新推荐文章于 2024-12-07 21:40:47 发布
本文详细介绍了uC/OS-III操作系统中的CPU利用率统计、堆栈溢出检测和任务状态监控功能。通过配置特定宏,系统能自动创建统计任务,监测CPU使用率、各任务CPU使用情况及堆栈使用信息,为系统优化提供数据支持。

最低0.47元/天 解锁文章
1760





