Arm 在Cortex-m1上测量函数执行时间的一种方法

Arm 在Cortex-m1上测量函数执行时间的一种方法,arm,timing,cortex-m,Arm,Timing,Cortex M,我正在寻找一种方法来测量一个函数在arm Cortex-M1上执行所需的时钟周期。 关于这个主题没有太多的文档,我发现的一切都是关于使用DWT的,DWT并没有在Cortex-M1上实现(至少我认为是这样,我在技术参考手册中找不到它)。如果systick定时器存在,并且如果你给它提供与系统时钟相同的时钟,它将给你与DWT相同的结果。如果它是一个分割时钟,它仍然会提供有用的信息。请注意,像代码对齐这样的简单事情可能会对代码的性能产生巨大的影响 如果您没有systick定时器,可以尝试使用定时器外围设

我正在寻找一种方法来测量一个函数在arm Cortex-M1上执行所需的时钟周期。
关于这个主题没有太多的文档,我发现的一切都是关于使用DWT的,DWT并没有在Cortex-M1上实现(至少我认为是这样,我在技术参考手册中找不到它)。

如果systick定时器存在,并且如果你给它提供与系统时钟相同的时钟,它将给你与DWT相同的结果。如果它是一个分割时钟,它仍然会提供有用的信息。请注意,像代码对齐这样的简单事情可能会对代码的性能产生巨大的影响


如果您没有systick定时器,可以尝试使用定时器外围设备。作为cortex-m1,您可以添加一个简单的计数器并将其添加到地址空间。

systick如果不使用分频时钟,将给出与DWT相同的结果。如果实施了systick。否则,我们必须使用timeral。因此,请理解尝试使用arm等高性能内核对esp进行计时编码的陷阱。单是对齐就可以对执行产生重大影响…cortex-m1表示您处于fgpa状态,对吗?只需添加您自己的计时器,或者只需在sim卡中运行代码,并使用sim卡时钟计算时钟counter@old_timer是的,我在参加艺术a7。我在哪里可以检查systick是否已实现?只需尝试与它交谈…看看它是否在那里。。。