loading

keil debug模式代码执行时间(sec/t0)的来源

  • Home
  • Blog
  • keil debug模式代码执行时间(sec/t0)的来源

keil debug模式代码执行时间(sec/t0)的来源

关于代码执行时间的讨论,

KEIL 下如何准确测量代码执行时间?-CSDN博客

文章里写的很清楚了,这里补充文章中的一个点:

执行时间(sec/t0)如何与DWT关联的?

keil debug中的Registers窗口

从keil的帮助手册中可以看到,states更新自DWT_CYCCNT这个寄存器,而sec“基于和states相同的信息”。也就是说sec同样与DWT_CYCCNT寄存器有关。

来源:keil帮助手册Debugging章节

下图中可以看到,DWT_CYCCNT寄存器是对时钟周期进行计数的寄存器。

来源:ARM® Cortex®-M3 Processor

Technical Reference Manual-Data Watchpoint and Trace Unit

那么可以知道sec就是用设置的时钟频率×时钟周期计数(states)得到,实测也确实有这样的规律。

在debug页面的trace选项下设置实际的核心频率,以便sec计算正确