mpu
内存保护单元寄存器种类及相关编程
一些嵌入式系统使用多任务的操作和控制。这些系
统必须提供一种机制来保证正在运行的任务不破坏其他任
务的操作。即要防止系统资源和其他一些任务不受非法访
问。嵌入式系统有专门的硬件来检测和限制系统资源的访
问。它能保证资源的所有权,任务需要遵守一组由操作环境
定义的、由硬件维护的规则,在硬件级上授予监视和控制资
源程序的特殊权限。受保护系统主动防止一个任务使用其他
任务的资源。因此使用硬件主动监视系统比协调加强的软件
历程,提供了更好的保护。
内存保护单元(
MPU
)是
ARM
中配备的有效保护系统资源硬件的一种,提供了内存
区域保护功能。
MPU
寄存器
与
MPU
相关的协处理
器寄存器主要是
c2
,
c3
,
c5
及
c6
。另外还有寄存器
c1
中的
1
到
2
位。
(
1
)
c1
中的
MPU
相关位
c1
的编码格式
如图所示。
M
(
bit
[
0
]
)控制控制
MPU
的使
能。
·
M=0
:禁止
MPU
·
M=1
:使能
MPU
A
(
bit
[
1
]
)
选择是否支持内存访问地址对齐检查。
·
B=0
:
禁止地址对齐检查
·
B=1
:使能地址对齐检查
(
2
)
c2
中的
MPU
相关位
c2
的编码格式如图所示。
寄存器位
0
~
7
分别对应域
0
~
7
的
Cache
属性。位
8
~
31
应
该设置成
0
。
注意在数据和指令分离的系统中,通过