DWT周期计数器测量中断响应延迟时,编译器优化等级主要影响测量代码本身而非硬件中断路径。高优化等级(-O2/-O3)可能重排或消除用于打时间戳的指令,导致测得的延迟偏小甚至为0;低优化(-O0)则引入额外指令开销,使测量值偏大。修正方法:1)用volatile变量存储DWT->CYCCNT快照,防止被优化掉;2)在打时间戳前后插入__DSB()/__ISB()保证顺序;3)将测量代码放在独立函数并加__attribute__((noinline,optimize("O0")))或使用内联汇编读取CYCCNT,确保时间戳点固定;4)对比不同优化等级下同一中断的测量值,以-O0下纯汇编打点结果为基准校准。实际工程建议统一用-O2并固定测量代码为内联汇编,避免优化差异引入的系统误差。