一种在 Cortex-m1

问题描述

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

解决方法

如果 systick 计时器存在,并且您为它提供与系统时钟相同的时钟,它将为您提供与 DWT 相同的结果。如果它是一个分频时钟,它仍然会提供有用的信息。请注意,诸如代码对齐之类的简单事情会对代码的性能产生巨大影响。

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