配置步骤:1) 使能DWT:先置CoreDebug->DEMCR的TRCENA位,再置DWT->CTRL的CYCCNTENA位;2) 清零DWT->CYCCNT;3) 在ISR入口读t0=CYCCNT,出口读t1=CYCCNT,耗时=(t1-t0)/f_cpu,用无符号减法天然处理单次回绕。误差来源:a) 计数器位宽有限(通常32位),高主频下回绕周期短,长ISR需处理多次回绕;b) 读取CYCCNT本身有若干周期开销,且编译器可能重排,入口/出口测量点应尽量贴近且用volatile或内存屏障;c) 中断嵌套、更高优先级中断抢占会污染测量;d) 调试器halt、低功耗模式、时钟门控可能暂停或复位计数器;e) 多核/多总线场景下计数与指令执行不同步。建议测量点用内联汇编读取,关闭被测ISR内可屏蔽中断或记录嵌套深度,并对多次采样取统计值。