Cortex-M4平台MPU受保护区域无法抵御EEFC_FCR寄存器ES指令擦除的问题咨询
Cortex-M4平台MPU受保护区域无法抵御EEFC_FCR寄存器ES指令擦除的问题咨询
各位技术同行们好,我最近在Cortex-M4上配置MPU时遇到了一个困惑,想跟大家请教下:
我给芯片设置了一个MPU区域,AP编码设为000(完全禁止访问),相关寄存器配置代码如下:
MPU->RBAR = address | (1 << 4) | (1 << 0); MPU->RASR = (1 << 17) | (1 << 3) | (1 << 0); MPU->CTRL = 0b111; SCB->SHCSR |= (1 << 16);
测试下来,如果从背景区域尝试往这个受保护的区域写数据,确实会触发故障,这符合预期。但奇怪的是,当我通过EEFC_FCR寄存器的ES指令去擦除这个MPU保护区域时,操作居然毫无阻碍地执行成功了。
我想问问大家:是不是MPU本来就不会对Flash控制器发起的擦除操作进行保护?
备注:内容来源于stack exchange,提问作者zeb92
相关产品推荐
相关产品推荐

