嵌入式Linux(ZYNQ)调试命令devmem - 直接读写内存

[用法] Usage: devmem ADDRESS [WIDTH [VALUE]]

读取: 在地址0x97000000读取32bit值(WIDTH默认等于32, 可选值为[8, 16, 32, 64])

/dev # devmem 0x97000000 
0x11111111

读取:在地址0x97000000读取16bit值

/dev # devmem 0x97000000 16
0x1111

写入: 在地址0x97000000写入32bit值0x7777ABCD

/dev # devmem 0x97000000 32 0x7777ABCD
/dev # devmem 0x97000000              
0x7777ABCD

注意:如果/dev下没有mem这个node,会出现错误:

/dev # devmem 0x97000000 
devmem: cant open /dev/mem: No such file or directory

这时可以在Host系统中手动创建一个(例如在NFS root filesystem模式):

host@host-laptop:~/embedded/tftpboot/nfsroot/dev$ sudo mknod mem -m666 c 1 1

注意这里的权限是666,允许任何人任意读写,可以很好的配合程序debug,当然也可以把权限设置成777(权限全开)。

/dev # devmem 0x97000000
0x7777ABCD
经验分享 程序员 微信小程序 职场和发展