我试图理解STM32H7 MPU示例,在本例中,只为所有内存地址空间4GB创建了一个区域。
子区域选项被激活,这意味着它将从0x0开始被划分为8个分区。
SRD设置为0x87,这意味着MPU只能在片上外围地址空间、外部RAM、共享设备空间上启用。
这对我来说很奇怪,因为对于Flash、SRAM、System和不可共享的设备,我们保持了最重要的地址空间不受保护。
对分区域采用这种配置方式的原因有何解释?
发布于 2022-08-18 16:08:22
当调度ThreadX模块线程时,MPU被重新配置,以便模块只能访问其代码和数据内存。
发布于 2022-08-18 12:52:17
初始化期间创建一个背景区域。此区域是唯一用于特权代码的活动区域。每次任务切换到用户代码时都会配置特定的模块区域。这里有更多信息:https://developer.arm.com/documentation/dui0646/c/Cortex-M7-Peripherals/Optional-Memory-Protection-Unit?lang=en
https://stackoverflow.com/questions/73402590
复制相似问题