[其他ST产品] 如何为程序代码计时?

[复制链接]
 楼主| 石榴大王 发表于 2025-5-30 09:00 | 显示全部楼层 |阅读模式
使用 STMcubeIDE时,如何为程序代码计时,以查看各个部分运行所需时间比如某个函数的时间,某个程序段的时间等等

烟雨蒙蒙520 发表于 2025-5-31 23:06 | 显示全部楼层
DWT 只能在启用了调试的 Cortex 核心中使用(FreeRTOS 下也适用)
江河千里 发表于 2025-6-9 16:00 | 显示全部楼层
在ST的MCU(如STM32系列)中,为程序代码计时是性能分析、优化和实时控制的重要环节。
光辉梦境 发表于 2025-6-9 16:37 | 显示全部楼层
SysTick是Cortex-M内核自带的24位递减计数器,通常用于操作系统(如FreeRTOS)的时钟节拍或简单计时
三生万物 发表于 2025-6-9 17:00 | 显示全部楼层
通过配置定时器的预分频器和自动重装载值,可以实现高精度计时
淡漠安然 发表于 2025-6-9 17:36 | 显示全部楼层
使用DWT,DWT是Cortex-M内核的调试组件,包含一个32位循环计数器(CYCCNT),可以记录CPU执行的时钟周期数
冰春彩落下 发表于 2025-6-9 22:00 | 显示全部楼层
使用外部计时器或RTC,如果需要高精度或长时间计时,可以使用外部计时器(如外部晶振)或RTC(实时时钟)。
远山寻你 发表于 2025-6-9 23:11 | 显示全部楼层
计时期间应避免长时间中断或高优先级中断,以免影响计时精度
别乱了阵脚 发表于 2025-6-10 01:03 | 显示全部楼层
配置SysTick的时钟源(如HCLK/8或HCLK)和重装载值,可以生成固定时间间隔的中断
一秒落纱 发表于 2025-6-10 01:45 | 显示全部楼层
计时变量应声明为volatile,防止编译器优化
暖了夏天蓝了海 发表于 2025-6-10 15:00 | 显示全部楼层
使用通用定时器,STM32的通用定时器(如TIM2、TIM3等)是32位或16位定时器,支持输入捕获、输出比较、PWM和计数功能。
夜阑风雨 发表于 2025-6-11 15:36 | 显示全部楼层
可以用硬件性能计数器,STM32部分型号(如STM32F4/F7/H7)支持硬件性能计数器(PMU),可以统计CPU周期数、指令执行数等
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

42

帖子

0

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

42

主题

42

帖子

0

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