问题起因
有人询问 STM32F7 和 STM32H7 系列库例程中有关 MPU 配置中的下面这句加绿色下划线的代码的意思是什么?有何用?
问题解析
所谓子区【Subregion】,当我们对任一存储空间不小于 256B 的区域【Region】进行 MPU 配置时,往往可以把该区【region】等分为 8 个子区【Subregion】,并可以把当前 MPU 配置选择性地针对各个子区进行排除性设置。在内核里有个关于 MPU 配置的寄存器 MPU_RASR,其中有个 8 位字段 SRD 就是用来设置各个子区的 MPU 排除性设置或者说例外性配置。如果某位为 0,表示该子区适用当前 MPU 配置;如果某位为 1,表示该位所对应子区不适用当前 MPU 配置,即不受当前 MPU 配置约束。
问题小结
本篇内容主要涉及内核 MPU 配置方面的东西,重点针对客户的疑问做了些解答,对 MPU 配置中的子区概念做了较为详细的解读,以供参考。
阅读全文