一、 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 |
该区域的数据是不会使用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.
评分
查看全部评分