15、深入解析MPU配置与相关架构特性

深入解析MPU配置与相关架构特性

1. MPU配置基础

MPU(Memory Protection Unit,内存保护单元)通过位于Cortex - M处理器系统块中的一组内存映射寄存器进行配置。这些寄存器只有在Cortex处理器处于特权模式时才能被访问。

CONTROL寄存器包含三个影响MPU整体操作的有效位:
- PRIVDEFENABLE位:启用背景区域,并授予对整个4GB内存映射的特权访问。
- HFNMIENA位:设置该位后,在硬故障、NMI或FAULTMASK异常期间启用MPU的操作。
- MPU ENABLE位:设置该位可启用MPU的操作,通常在配置MPU时,最后执行此操作。复位后,这些位都被清零。

其余寄存器用于配置八个MPU区域。要配置特定区域(0 - 7),首先将区域编号写入区域编号寄存器来选择该区域,然后通过基地址寄存器和属性与大小寄存器进行配置。基地址寄存器包含一个27位的地址字段、一个有效位和MPU区域编号的重复。

2. 区域配置细节
  • 基地址设置 :MPU区域的基地址必须编程到地址字段中,但可用的基地址取决于为该区域定义的大小。区域大小从32字节到4GB,以固定大小范围设置,且基地址必须是区域大小的倍数。编程地址字段可设置所选区域的基地址,在准备激活区域之前无需设置有效位。
  • 属性与大小寄存器 :该寄存器用于完成MPU区域的配置。大小字段定义内存保护区域的地址大小(以字节为单位),区域大小计算公式为: MPU Region memory size = 2 ^
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值