"Exclusives Reservation Granule"对STM32F4的价值是多少?



我很感兴趣,因为这个值会影响我想要使用(很棒的)ldrex/strex同步原语的数据结构在内存中的位置。

ARMv7-M体系结构参考说:

标记的内存块的大小称为Exclusives保留颗粒Exclusives保留颗粒是由IMPLEMENTATION定义的介于:

  • 一个单词,在a==2的实现中
  • 512个字,在a==11的实现中

因此,对于STM32F407这样的给定实现,我应该能够找到所使用的值。但我不能,在我查阅的各种文件中。

有人知道吗?还有,你是怎么找到的?

STM32F407有一个Cortex-M4内核,这意味着ERG的大小实际上是4GB。

来自Cortex-M4 TRM:

处理器内的本地监视器已被构造为不保存任何物理地址,而是将任何访问视为与前一个LDREX的地址匹配。这意味着所实现的互斥保留颗粒是整个内存地址范围。

STM32F407 TRM没有提到任何关于实现外部监视器的系统的内容,所以我认为它没有。如果没有其他CPU进行同步,那也没什么大不了的——我想不出有什么好的理由需要使读-修改-写原子不被DMA覆盖。

相关内容

  • 没有找到相关文章

最新更新