实现mmu的部分代码.txt

来自「学习嵌入式 mmu 代码 感觉不错 发给大家分享一下了 希望大家喜欢 不错的」· 文本 代码 · 共 17 行

TXT
17
字号
以下是实现MMU的部分代码:
for=(i=1;i<0x1000;i++){
pagetable=(i<<20)|MMU_SECDESC;
} //建立页表,每页大小为1MB,页表偏移序号是物理地址的高12位;
for(addr=SDRAM_BASE;addr<(SDRAM_BASE+SDRAM_SIZE/2);addr+=SIZE_1M);
pagetable[addr>>20]=addr|MMU_SECDESE|
MMU_CACHEABLE|MMU_BUFFERABLE;pagetable是数组还是变量呢?
//将SDRAM_BASE至(SDRAM_BASE+SDRAM_SIZE/2)空间的设置为不可CACHE和不可BUFFER的
for(addr=SDRAM_BASE+SDRAM_SIZE/2;addr<(SDRAM_BASE+SDRAM_SIZE);addr+=SIZE_1M)
pagetable[addr>>20]=(addr+0x1000000)|
MMU_SECDESC|MMU_CACHEABLE|MMU_BUFFERABLE;
//将这段空间的地址映射关系设置为VA(虚拟地址)=PA(物理地址)+0x1000000
pagetable[0]=(0x42f00000)|MMU_SECDESC|MMU_CACHEABLE|MMU_BUFFERABLE;
//将SDRAM的虚拟地址0x42f00000映射到0处;这里的0是物理地址的0么?


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?