STM32H7 上 LDR 指令的持续时间取决于内存

Duration of a LDR instruction on STM32H7 depending on memory

我正在 STM32H753I-EVAL2 板上对 STM32H7 进行一些评估。我使用 STMicro 示例代码在内存映射模式下配置、写入和读取 QSPI 闪存。

关于 LDR 指令持续时间的一些数字让我感到惊讶:

结果是(从内部闪存执行的代码):来自 DCTM-RAM 的 15 个周期,来自 QSPI 的 12 个周期。

我对结果感到惊讶,我猜 QSPI 内容如果被缓存,那么它可能会解释这些数字?

另外我发现一条LDR指令的15个周期似乎很多,你怎么看?我的程序有问题吗?

如果内部闪存没有被缓存,或者缓存无效,或者管道被刷新或者...(许多其他)它可能比 QSPI 闪存定位指令花费更多的时间。

要测量执行时间,您有特殊的寄存器。