在ARM linux用户空间中获得PHYS_OFFSET的价值

时间:2012-11-28 14:07:41

标签: linux embedded arm

我有一个在cortexA8.上运行的嵌入式linux系统。我理解内核符号PHYS_OFFSET代表RAM http://www.kernelport.org/defines.html的物理起始地址。我需要在用户空间中使用此符号的值,以便在内核启动后运行的某些shell脚本中进行某些验证。 / proc文件系统没有这个信息。如果我能通过某种方式获得这个价值,请告诉我。

1 个答案:

答案 0 :(得分:2)

您可以通过阅读/proc/iomem来尝试利用I / O内存映射,这应该告诉System RAM - iomem中的所有地址都是真实/物理地址。

这是来自我的Android手机,它有1GB内存(0xbfffffff - 0x80000000)。

$cat /proc/iomem
...
80200000-88cfffff : System RAM
  80300000-80c708cf : Kernel text
  80d00000-80fb1dcb : Kernel data
88d00000-88d00fff : ramdumpinfo
88d01000-88d04fff : amsslog
88de0000-88dfffff : ram_console
90000000-ab4fffff : System RAM
b9a02000-bfffffff : System RAM

您需要将系统内存中指定的范围转换为您需要的范围。