Dandjinh 发表于 2018-5-14 15:10:45

STM32F7系列MPU中的Shareable问题

一、 memory setting如下

其中DTCM全用于FreeRTOS的heap。

二、 MPU setting 如下

只显示RAM部分的设置。
其中,按手册上说DTCM是不经过cache的,所以没对其设置MPU。

三、 具体代码


四、 问题
1. 如果RAM的MPU设成Non Sharable,就出现lock为NULL的情况。问题是我之前有判断的,其中My_ErrorHandler()是个死循环。
2. 如果设置成Shareable,运行一切正常。
3. MPU中的Shareable的具体作用是什么?

说明好像说的是,开启了Shareable,数据就自动在各总线中同步了?这不就等于是write through了吗?

五、 硬件环境
芯片是STM32F746NGH6

xmshao 发表于 2018-6-4 10:24:24

设置shareable表示该存储块可以被多个主设备访问,当配置shareable时,
该区域的数据是不会使用cache的,效果跟write through一样。

如果non-shareabe,一般指被本地CPU访问。
Non-shareable:
This represents memory accessible only by a single processor or other agent, so
memory accesses never need to be synchronized with other processors.
页: [1]
查看完整版本: STM32F7系列MPU中的Shareable问题