石榴大王 发表于 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周期数、指令执行数等
页: [1]
查看完整版本: 如何为程序代码计时?