RH850系列芯片深度剖析 1.8-内存管理之MPU
文章目录
- RH850系列芯片深度剖析 1.8-内存管理之MPU
- 一、MPU简介
- 1.1 功能特性
- 1.2 系统保护标识符(SPID)
- 二、保护区域设置
- 2.1 保护区域属性设置
- 2.2 保护区域设置注意事项
- 2.2.1 跨越保护区域边界
- 2.2.2 无效的保护区域设置
- 2.2.3 保护违规检查期间参考的下限和上限地址
- 2.2.4 跨越连续保护区域的内存访问
- 2.2.4.1 操作数访问跨越保护区域
- 2.2.4.2 指令读取跨越保护区域
- 2.2.5 跨越地址 0000 0000H 的内存访问
- 2.3 访问控制
- 2.4 违规和异常
- 2.4.1 执行保护违规(MIP异常)
- 2.4.2 数据保护违规(MDP异常)
- 2.4.3 异常原因码以及异常地址
- 2.5 内存保护设置检查功能
- 2.5.1 检查细节
- 2.5.2 检查流程
- 2.5.3 示例代码
- 2.5.4 地址区域的计算方法
- 2.5.5 检查内存保护设置检查功能的结果
一、MPU简介
内存保护功能由 MPU(内存保护单元)提供,通过检测和防止不可靠程序未经授权使用系统资源、失控事件等来维持系统的平稳运行。
1.1 功能特性
MPU根据功能分为以下特性:
-
内存访问控制
可为地址空间分配多个保护区域。因此,可以检测和防止用户程序未经授权执行程序或篡改数据。可以指定每个区域的上限和下限地址,从而精确有效地使用地址空间。 -
CPU 各运行模式的访问管理
在该 CPU 中,多个状态位用于控制对资源的访问,根据每个程序的可靠性级别,这些位将被组合使用,以执行适当的保护。 -
使用系统保护标识符 (SPID) 进行保护
该 CPU 可使用系统保护标识符 (SPID) 检查区域是否匹配。SPID 寄存器的使用和设置限制取决于 CPU 所安装产品的系统规范。这些系统规范应用在内存访问控制中,实现有效的访问管理。
1.2 系统保护标识符(SPID)
在该 CPU 中,内存资源和外设由系统保护组管理。通过指定正在执行的程序所属的组,可以为程序分配可访问的内存资源和外设。正在执行的程序属于 SPID 指定的组,内存资源和外设是否可访问由 SPID 决定。管理员可以为 SPI