关于MMU内存映射,这个是什么意思?

qq_27479125 2017-08-11 04:09:17
某个技术博客里有这样一段关于内存映射:

1、因为我们在存映射表的时候就会有一个地址,所以我们可以将映射表的地址利用起来:假设映射表的地址为0x50000000,因此我们可以这样存:

0x6ab00000 ——>0x50000000 +(2ab * 4)
..........
0x60100000 ——>0x500000000 +(201 * 4)
0x60000000 ——>0x500000000 +(200 * 4)

(200 * 4)加这个是什么意思?

2、
for(va = 0x20000000; va < 0x30000000; va += 0x100000) {
phys = va + 0x40000000;
addr[va >> 20] = phys | 2;
}
代码里phys与2或是什么意思?


...全文
473 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xie小蟹 2017-09-14
  • 打赏
  • 举报
回复
phys | 2是为了对齐让低位为0
ddcxyz 2017-08-11
  • 打赏
  • 举报
回复
可能是一个表项占据4字节。

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧