STM32H7 CubeMX 默认MPU配置记录

/ 0评 / 0

最近用Cube打算生成一些代码时候发现生成过程会提示是否启用MPU.

当启用后生成默认的配置.

可以看出除了设置了背景区(MPU在HardFault时关闭,默认特权模式全部可以访问),还额外设置了一个区,覆盖了差不多整个4GB.

而STM32本身配置是分开了8个大区域.

其中加粗的区域就是0x87覆盖的区域,他应用背景设置,其中代码区实际常用于写入就只有ITCM,策略是WT(写穿),而RAM区由于访问比较缓慢,默认是WB(写回,写分配)策略,这样保证每次访问时候都是最高性能,但是有缓存一致性问题,外社区不用想必然要写到做到,强顺序,而FMC和外部设备默认都是没有的,所所以这里用了一个默认策略覆盖,当然我们也可以自己定义,FMC(NOR/PSRAM/SRAM)区和片内SRAM策略一样,而NAND和QSPI通常不会怎么修改,因此默认策略和代码区一样,外部设备区和内部设备的配置一样.由于默认没这些设备,所以Cube默认配置不允许访问他们,这也算是保护不要乱放问到不该访问的地方吧,至于最后一个保留区为什么会被排除,在手册中也没找到所以然.

发表回复

您的电子邮箱地址不会被公开。