ram地址与内存映射地址的区别

时间:2017-01-12 09:58:36

标签: memory-management

我试图理解arm上的启动过程和内存管理,并且有关于内存映射地址和ram地址的问题。

  • 我的理解:

每个Soc都有一个内存映射,大小取决于寻址能力,例如:32位处理器具有2 ^ 32或4GB的寻址能力。存储器映射将包含映射的不同外设的地址和向量表e.t.c例如:地址0x00000000是复位向量,地址0x70000000是UART寄存器,依此类推。

同样,DDR控制器也会有一个内存映射地址来控制RAM。

  • 我的问题:

假设RAM的大小为4GB,如何在不影响存储器映射(或UART寄存器)的情况下访问RAM的地址0x70000000?

如果我误解了它,请纠正我的理解。

1 个答案:

答案 0 :(得分:0)

简单的答案是:它无法访问。内存映射外设优先于同一地址的RAM。

最着名的例子实际上是Win32,其中视频卡是内存映射的,并且通常会将可用内存减少到3.5GB。