树莓派,pi@raspberrypi:~$ cat /proc/iomem
00000000-00000000 : System RAM 00000000-00000000 : Kernel code 00000000-00000000 : Kernel data 00000000-00000000 : dwc_otg 00000000-00000000 : 3f007000.dma dma@7e007000 00000000-00000000 : 3f100000.watchdog watchdog@7e100000 00000000-00000000 : 3f00b840.mailbox mailbox@7e00b840 00000000-00000000 : 3f00b880.mailbox mailbox@7e00b880 00000000-00000000 : 3f100000.watchdog watchdog@7e100000 00000000-00000000 : 3f101000.cprman cprman@7e101000 00000000-00000000 : 3f104000.rng rng@7e104000 00000000-00000000 : 3f200000.gpio gpio@7e200000 00000000-00000000 : serial@7e201000 00000000-00000000 : 3f201000.serial serial@7e201000 00000000-00000000 : 3f202000.mmc mmc@7e202000 00000000-00000000 : 3f203000.i2s i2s@7e203000 00000000-00000000 : 3f204000.spi spi@7e204000 00000000-00000000 : 3f212000.thermal thermal@7e212000 00000000-00000000 : 3f215000.aux aux@7e215000 00000000-00000000 : 3f215040.serial serial@7e215040 00000000-00000000 : 3f300000.mmcnr mmcnr@7e300000 00000000-00000000 : 3f804000.i2c i2c@7e804000 00000000-00000000 : dwc_otg
/proc/iomem 文件,它展示了系统的 物理内存映射情况,也就是哪些地址范围被分配给了哪些硬件设备或内核模块。这是内核用于管理设备和内存的关键信息,尤其在嵌入式系统如树莓派中非常有价值。
🧠 如何理解这些条目?
每一行表示一个物理地址范围和它的用途。格式如下:
起始地址 - 结束地址 : 描述
如果某个地址范围被进一步细分,会以缩进方式列出子区域。
🔍 逐项解释你的输出
🧱 1. System RAM
00000000-00000000 : System RAM
00000000-00000000 : Kernel code
00000000-00000000 : Kernel data
-
表示系统的物理内存区域。
-
子项是内核代码和数据所在的地址范围。
-
在你的输出中地址都显示为
00000000,可能是因为某些信息被屏蔽或未映射(某些版本的内核或用户权限下会隐藏真实地址)。
⚙️ 2. 外设映射(MMIO)
这些是通过 内存映射 I/O(MMIO) 方式访问的外设:
| 设备名称 | 地址标签 | 功能说明 |
|---|---|---|
dwc_otg | USB 控制器 | 用于 USB 设备通信 |
dma@7e007000 | DMA 控制器 | 用于内存与设备之间的数据传输 |
watchdog@7e100000 | 看门狗定时器 | 防止系统死锁 |
mailbox@7e00b840 | 邮箱通信接口 | CPU 与 GPU 通信 |
cprman@7e101000 | 时钟管理器 | 控制系统时钟 |
rng@7e104000 | 随机数发生器 | 提供硬件随机数 |
gpio@7e200000 | 通用 I/O | 控制引脚输入输出 |
serial@7e201000 | UART 串口 | 串口通信接口 |
mmc@7e202000 | SD 卡控制器 | 用于访问 microSD 卡 |
i2s@7e203000 | 音频接口 | 用于音频数据传输 |
spi@7e204000 | SPI 接口 | 高速串行通信 |
thermal@7e212000 | 温度传感器 | 检测芯片温度 |
aux@7e215000 | 辅助设备 | 包括辅助串口等 |
mmcnr@7e300000 | SD 卡控制器(新) | 用于新版 SD 卡接口 |
i2c@7e804000 | I²C 接口 | 用于低速设备通信 |
这些地址是设备的寄存器映射区域,驱动程序通过这些地址与硬件交互。
🔁 重复项说明
你可能注意到某些设备如 dwc_otg 和 watchdog 出现了多次。这可能是:
-
同一个设备映射了多个地址区域。
-
多个实例或通道(如多个串口或邮箱)。
-
驱动程序注册了多个资源。
1304

被折叠的 条评论
为什么被折叠?



