【13】uC/OS-III应用开发————>CPU利用率及堆栈检测统计(STM32F767)

本文详细介绍了uC/OS-III操作系统中的CPU利用率统计、堆栈溢出检测和任务状态监控功能。通过配置特定宏,系统能自动创建统计任务,监测CPU使用率、各任务CPU使用情况及堆栈使用信息,为系统优化提供数据支持。
  1. 简述
    1. CPU利用率其实就是系统运行程序占用的CPU资源,表示处理器在某段时间程序运行的状况
    2. 如果这段时间中,程序一直占用CPU的使用权,可认为CPU利用率是100%
    3. uC/OS的CPU利用率统计功能需要将OS_CFG_STAT_TASK_EN置1才能使用
  2. CPU利用率统计初始化:OSStatTaskCPUUsageInit()
    1. 统计原理
      1. 利用空闲任务一直做加法运算的这个功能
      2. 假设某段时间T中,CPU一直都在空闲任务中做自增运算,这个算出来的值就是CPU空闲时候的最大值(假设100)
      3. -----------------------,空闲任务算出来的值为80,说明空闲资源占系统的80%,其余20%是任务占用
    2. 利用率计算公式:CPUUsage(%) = 100 * (1 - OSStatTaskCtr / OSStatTaskCtrMax)
    3. CPUUsage:利用率
    4. OSStatTaskCtr:空闲任务运算的值
    5. OSStatTaskCtrMax:空闲任务中运算的最大值
  3. 堆栈溢出检测概念及作用
    1. MMU和MPU是处理器上特殊硬件,可以检测非法访问,如果任务企图访问未被允许的内存空间,就会产生警告
    2. STM32没有上述功能,可以使用软件模拟堆栈检测,uC/OS自带
    3. OS_CFG_STAT_TASK_STK_CHK_EN置1
    4. 检测原理:
  4. 统计任务:OS_StatTask()
    1. OS_CFG_STAT_TASK_EN置1后,系统自动创建统计任务OS_StatTask();
    2. 它会在任务中
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值