4.7.5. devmem
devmem 是 Linux 系统中用于直接访问物理内存的命令行工具,支持对内存映射 I/O( MMIO)的读写操作,常用于开发、调试和底层系统配置。
4.7.5.1. 语法说明
以下是执行 devmem --help 输出的 Usage:
Usage: devmem ADDRESS [WIDTH [VALUE]]
Read/write from physical address
ADDRESS Address to act upon
WIDTH Width (8/16/...)
VALUE Data to be written
4.7.5.2. 参数选项说明
ADDRESS:物理地址,需要读取或写入的内存地址,可以是十进制或十六进制形式。。
WIDTH:可选参数,指定读取或写入的数据宽度,可选值包括:
8 : 8 位(字节)
16 : 16 位(字节)
32 : 32 位(字节)
64 : 64 位(字节)
默认值为 32 位(字节)
VALUE:可选参数,当进行写入操作时,指定要写入的数据值。
4.7.5.3. 各项命令选项及其功能说明
读取物理地址数据
以 aon_gpio_0 管脚为例,其基地址和驱动力对应地址如图:

命令:
root@buildroot:~# devmem 0x31040000 32
功能:
读取物理地址 0x31040000 上的 32 位数据
打印输出:
root@buildroot:/userdata/gmsl# devmem 0x31040000 32
0x06060606
字段解析
读取数据的第 [12:9] 位,与文档中默认的驱动力值 3 一致。
写入数据到物理地址
命令:
devmem 0x31040000 32 0x06060806
功能:
将指定的 0x06060806 写入到物理地址 0x31040000 ,对应驱动力等级为 4 ,数据宽度为 32 位。
打印输出:
通过回读 0x31040000 地址,确认写入成功。
root@buildroot:/userdata/gmsl# devmem 0x31040000 32
0x06060806
注意:
此次修改仅作示例参考, GPIO 引脚的驱动力等级需与硬件设计匹配,不可随意调整。