[STM32L4] 在 STM32CubeIDE 中查看核心(CPU)利用率

[复制链接]
173|10
唐纳德d 发表于 2025-10-28 16:26 | 显示全部楼层 |阅读模式
使用 STM32L452RC。我想看看类似任务管理器中显示的那种CPU利用率。主要是想看看使用 DMA 和不使用 DMA 时利用率的差异。
通过在 CubeIDE 中查看核心利用率来验证,使用 DMA 进行内存到内存传输是否能降低核心利用率。或者keil、iar中是否有这种功能

公羊子丹 发表于 2025-10-29 07:24 | 显示全部楼层
我之前也想在 CubeIDE 里看 CPU 利用率,其实它默认没有直接显示百分比那种功能,不过你可以用 FreeRTOS + Trace 工具看任务负载,大概能反映出 CPU 的占用。
周半梅 发表于 2025-10-29 07:25 | 显示全部楼层
如果你只是想比较 DMA 和非 DMA 的性能,建议开个定时器周期测一次空闲循环次数,这样能间接看出 CPU 忙不忙,比 IDE 里看更直观。
帛灿灿 发表于 2025-10-29 07:26 | 显示全部楼层
我试过 STM32L476,用 DMA 搬内存数据确实轻不少,CPU 可以腾出差不多 30% 的时间,不过得注意 Cache 一开,差距就没那么大了。
童雨竹 发表于 2025-10-29 07:27 | 显示全部楼层
CubeIDE 的 Debug 里不是有个 SWV Trace?打开 ITM 和 PC Sampling 可以看 CPU 的活动情况,不过配置起来有点麻烦,需要 SWO 引脚接好。
万图 发表于 2025-10-29 07:28 | 显示全部楼层
其实用 Keil 的 Event Recorder 看任务运行时间更方便,尤其是配合 RTX 或 FreeRTOS,能看到哪个函数最占 CPU。
Wordsworth 发表于 2025-10-29 07:29 | 显示全部楼层
我觉得 DMA 对 CPU 利用率的影响要看搬运的数据量大小,小数据时开 DMA 反而不划算,还浪费初始化时间。
Bblythe 发表于 2025-10-29 07:30 | 显示全部楼层
L4 系列有 DWT 周期计数器,你可以在主循环加几行代码统计执行周期,用这个来算 CPU 利用率,比估算靠谱。
Pulitzer 发表于 2025-10-29 07:31 | 显示全部楼层
之前我在 IAR 里用 runtime analysis 也试过,能看到每个函数执行时间,不过要编译成 debug 版本才能看全数据。
Uriah 发表于 2025-10-29 07:31 | 显示全部楼层
如果只是想验证 DMA 的效果,可以让 CPU 做点假负载,比如跑个矩阵计算,再让 DMA 同时搬数据,看两种情况下总执行时间。
Clyde011 发表于 2025-10-29 07:32 | 显示全部楼层
我倒是希望 ST 以后能在 CubeIDE 里内置个类似 “CPU Load” 的监控界面,现在还得各种曲线、trace 工具自己拼着用,太麻烦了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

62

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部