ARM存儲器之:存儲保護單元MPU
編碼含義如表15.18所示
表15.18 寄存器c6編碼含義
位名稱 | 對應位 | 注釋 |
起始地址 | [31:12] | 保護域的第一個字節(jié)起始地址,具體見表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],因為域的起始要是域大小的整倍數(shù),域最小為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 |
續(xù)表
Size(bits[5:1]) | 域尺寸 | 起始地址(bits[31:12]) |
0b11110 | 2GB | bits[30:12]必須為0 |
0b11111 | 4GB | bits[31:12]必須為0 |
存儲器相關文章:存儲器原理
評論