linux - 获取 ARM Linux 用户空间中 PHYS_OFFSET 的值

标签 linux embedded arm

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

最佳答案

您可以尝试通过读取/proc/iomem来利用I/O内存映射,它应该告诉我们系统RAM - iomem中的所有地址> 是真实/物理地址。

这是来 self 的 Android 手机,它有 1GB RAM (0xbffffffff - 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 中指定的范围转换为您需要的范围。

关于linux - 获取 ARM Linux 用户空间中 PHYS_OFFSET 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13606969/

相关文章:

linux - 在 Linux 中,内存映射了哪些文件?

c++ - Jetson TK1 - 嵌入式 Linux - 如何定期中断

c - 如何通过良好的设计保留堆栈空间?

linux - tcl - 检测 x11 是在 ARM 还是 x86 上运行

arm - LPC11xx Cortex-M0 FreeRTOS 硬故障

linux - 内核调度代码(linux)中的 struct rq 在哪里??/

c - 如何在从另一个文件复制时编辑文件

c++ - Linux下如何将ARM和Flash组装到STM32?

ARM 程序集 : Concatenate 2 Strings from memory

linux - 使用 Git 时,什么时候用一个连字符 (-) 代替两个连字符 (--)?