【发布时间】:2021-07-07 13:55:48
【问题描述】:
我希望能简要解释一下我在 NUCLEO-H723ZG 板上的汇编程序时序循环如何表明它是在单个 cpu 时钟周期内执行的。使用的两条指令,一个 SUBS 和一个 BNE,在循环分支时消耗三个时钟周期,所以有一些魔法正在发生!我正在使用 GPIO BSRR 来切换 LED,并且需要使用 275M 的定时循环计数来实现大约每秒闪烁一次。
【问题讨论】:
-
你能添加你的代码吗? Cortex M7 可以双重发出算术和加载存储指令,这使得基于指令计数的时序变得棘手。听起来你最好使用计时器来处理你的时间。
-
计时码只包含上面提到的两条指令。因为它们执行了十亿次的四分之一,所以从时序的角度来看,GPIO 代码是无关紧要的。该练习是为了展示处理器的性能,而不是严格的计时精度。
标签: performance stm32