【问题标题】:Getting value of PHYS_OFFSET in ARM linux user space在 ARM linux 用户空间中获取 PHYS_OFFSET 的值
【发布时间】:2012-11-29 18:09:47
【问题描述】:

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

【问题讨论】:

  • 你看过/sys吗?如果那里没有什么方便的,创建一个内核模块来公开它会相当简单。
  • grep PHYS_OFFSET /boot/config-`uname -r`
  • @mux /boot 文件夹为空。 /boot/config 文件是如何创建的?
  • @Marko 我正在查看 /sys。虽然还没有找到任何东西
  • @Badri 试试zgrep PHYS_OFFSET /proc/config.gz

标签: linux embedded arm


【解决方案1】:

您可以尝试通过读取 /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

您需要以某种方式将 系统 RAM 中指定的范围转换为您需要的范围。

【讨论】:

    猜你喜欢
    • 2016-08-04
    • 1970-01-01
    • 2012-10-09
    • 2019-10-02
    • 2019-06-17
    • 1970-01-01
    • 2012-07-01
    • 1970-01-01
    • 2011-09-23
    相关资源
    最近更新 更多