ARM存储器之:存储保护单元MPU
编码含义如表15.18所示
表15.18 寄存器c6编码含义
位名称 |
对应位 |
注释 |
起始地址 |
[31:12] |
保护域的第一个字节起始地址,具体见表2.18 |
SBZ |
[11:6] |
必须设为0 |
Size |
[5:1] |
设Size=N,则域尺寸为2N+1,其中11≤N≤31 |
E |
[0] |
域使能,E=1使能,E=0禁止 |
关于c6中bits[31:12],因为域的起始要是域大小的整倍数,域最小为4KB,所有域起始地址的bits[11:0]通常为0,不用设置。具体c6中起始地址的设置和c6中Size(bits[5:1])的对应关系如表15.19所示。
表15.19 域尺寸编码
Size(bits[5:1]) |
域尺寸 |
起始地址(bits[31:12]) |
0b00000~0b01010 |
未定义 |
- |
0b01011 |
4KB |
无 |
0b01100 |
8KB |
bit[12]必须为0 |
0b01101 |
16KB |
bits[13:12]必须为0 |
0b01110 |
32KB |
bits[14:12]必须为0 |
0b01111 |
64KB |
bits[15:12]必须为0 |
0b10000 |
126KB |
bits[16:12]必须为0 |
0b10001 |
256KB |
bits[17:12]必须为0 |
0b10010 |
512KB |
bits[18:12]必须为0 |
0b10011 |
1MB |
bits[19:12]必须为0 |
0b10100 |
2MB |
bits[20:12]必须为0 |
0b10101 |
4MB |
bits[21:12]必须为0 |
0b10110 |
8MB |
bits[22:12]必须为0 |
0b10111 |
16MB |
bits[23:12]必须为0 |
0b11000 |
32MB |
bits[24:12]必须为0 |
0b11001 |
64MB |
bits[25:12]必须为0 |
0b11010 |
128MB |
bits[26:12]必须为0 |
0b11011 |
256MB |
bits[27:12]必须为0 |
0b11100 |
512MB |
bits[28:12]必须为0 |
0b11101 |
1GB |
bits[29:12]必须为0 |
续表
Size(bits[5:1]) |
域尺寸 |
起始地址(bits[31:12]) |
0b11110 |
2GB |
bits[30:12]必须为0 |
0b11111 |
4GB |
bits[31:12]必须为0 |
存储器相关文章:存储器原理
评论