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
设置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]