ARM Cortex M4(或M3)上的循环计数器?

mak*_*puf 12 embedded arm cortex-m3

我正试图在Cortex M4上分析一个C函数(从一个中断调用,但我可以在其他地方提取它并将其分析).

有多少可能计算此功能中通常使用的循环次数?功能应该在大约4000个周期内运行,所以我认为RTC不是一个选项,并且从反汇编中手动计算周期可能很痛苦 - 只有平均才有用,因为我想在具有典型闪存/内存的典型流上进行分析使用模式.

我听说过循环计数器寄存器和MRC指令,但它们似乎可用于A8/11.我还没有在cortex-Mx micros中看到过这样的说明.

Thr*_*986 18

看一下这里定义的DWT_CYCCNT寄存器.请注意,此寄存器与实现有关.谁是芯片供应商?我知道STM32实现提供了这组寄存器.

本文提供了使用DWT循环计数器寄存器进行定时的说明.(见2009年12月11日 - 06:29 PM的帖子)

这个Stack溢出帖子也是关于如何DWT_CYCCNT的一个例子.