Arm 如何在Cortex-M4上对运行时进行基准测试

Arm 如何在Cortex-M4上对运行时进行基准测试,arm,keil,Arm,Keil,我对ARM非常陌生,我正在尝试为Cortex-M4处理器用C编写的函数获取计时结果。你们中有谁能告诉我需要采取哪些步骤来获得计时结果 我一直在Keil uVision上运行我的代码,但在实际环境调试期间无法使用程序的性能分析器。据我所知,如果使用Keil的专有连接器,性能分析器似乎只能在模拟调试会话之外工作。在要计时的功能开始时将引脚设置为高,在结束时将其设置为低,并使用示波器测量脉冲宽度 Dending您正在使用的Cortex M4上可能有一个循环计数寄存器DWT->CYCCNT,但包含此类寄

我对ARM非常陌生,我正在尝试为Cortex-M4处理器用C编写的函数获取计时结果。你们中有谁能告诉我需要采取哪些步骤来获得计时结果


我一直在Keil uVision上运行我的代码,但在实际环境调试期间无法使用程序的性能分析器。据我所知,如果使用Keil的专有连接器,性能分析器似乎只能在模拟调试会话之外工作。

在要计时的功能开始时将引脚设置为高,在结束时将其设置为低,并使用示波器测量脉冲宽度

Dending您正在使用的Cortex M4上可能有一个循环计数寄存器
DWT->CYCCNT
,但包含此类寄存器是由供应商定义的。有关详细信息,请参阅。如果需要,您的处理器数据表、参考手册和编程手册应提供更多信息


或者,如果您有一个快速计时器,例如从处理器时钟运行的SysTick,您可以将计数初始化为0x00FFFFFF,在函数开始时开始倒计时,在函数结束时停止,然后计算出所用的时间(0x00FFFFFF-SysTick->CVR)*(1/SysTick频率).

写出串行端口的调试代码,并使用定时器对tge操作计时