1. 摘要
本篇笔记主要介绍,在freeRTOS环境下,以STM32为例介绍如何快速获取CPU利用率,配合CubeMonitor测试
2. 准备工作
1, IAR 8.32.1
2, STM32Cube_FW_H7_V1.6.0
3. CPU使用率
这里的CPU使用率是指在一定周期内,除过空闲任务以外的所有任务栈CPU总运行时间的比值,
osCPU_Usage = (100 - (osCPU_TotalIdleTime * 100) / CALCULATION_PERIOD); 其实就是计算出空闲任务的时间,就能获取CPU的利用率,而空闲任务运行时间的获取,可以利用钩子或者叫挂钩函数,具体在freeRTOS下就是
而我们所有的计算都是以CPU时基为基础,在freeRTOS下以STM32H743为MCU,通常设时基为1ms,就是操作系统的TICK,而freeRTOS也提供了挂钩函数
所以我们要使用这两个挂钩函数,必须先配置使能在freeRTOSConfig.h下
4. 获取CPU利用率
在ST提供的SDK里面会有一个公共的文件cpu_utils.c和cpu_utils.h两个文件,这两个文件提供了获取freeRTOS下获取CPU利用率的方案和方法,可以供参考,我们可以将两个文件加入工程,需要配置和修改一些东西
在cpu_utilis.c的文件开头注释部分有说明如何利用这个模块,按照模块说明,也就是我们上章节所列的首先必须使能IDEL和TICK的HOOK函数配置。,还必须定义两个宏,对freeRTOS就可以在freeRTOSConfig.h中定义如下
在头文件中添加函数声明
这种方法只能用来初略估计,如需精确估计可开启一个比sysTick 优先级高的硬件定时器来,但是在一般正式的项目中,不这样做,这样会影响系统的实时性。
直接调用就可以了。更多精细的测试和调试可以使用freeRTOS+Trace。
5. 测试
编译无误后,可以下载进行调试, 工程中有大概十几个任务
可以看到CPU的利用率。也可以利用ST推出的CubeMonitor进行测试,下次推送将给大家安排详细的CubeMonitor使用。
责任编辑:PSY
原文标题:如何快速获取CPU利用率
文章出处:【微信公众号:嵌入式程序猿】欢迎添加关注!文章转载请注明出处。
-
cpu
+关注
关注
68文章
11117浏览量
218320 -
STM32
+关注
关注
2296文章
11039浏览量
366728 -
利用率
+关注
关注
0文章
10浏览量
7144 -
FreeRTOS
+关注
关注
13文章
495浏览量
64740
原文标题:如何快速获取CPU利用率
文章出处:【微信号:InterruptISR,微信公众号:嵌入式程序员】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
海光DCU率先展开文心系列模型的深度技术合作 FLOPs利用率(MFU)达47%
CUBEmonitor write panel变量无法在dashboard上显示的原因?
mes工厂管理系统:如何让设备利用率提升50%?

DeepSeek MoE架构下的网络负载如何优化?解锁90%网络利用率的关键策略

嵌入式开发避坑指南|FreeRTOS的5个\"反直觉\"小技巧
STM32调试神器STM32CubeMonitor介绍

STM32CubeMonitor安装后无法启动怎么解决?
三星平泽晶圆代工产线恢复运营,6月冲刺最大产能利用率
通过STM32CubeMonitor,实现对MCU数据监控

低空载功耗,高能源利用率 BDA5-20W BOSHIDA DCDC

评论