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

15 篇文章 4 订阅
本文介绍了如何使用devmem命令在Linux系统中读取和写入特定内存地址的值,包括32位和16位数据的读写,并提到了在/dev下没有mem节点时的解决办法,即创建一个具有适当权限的mem节点以进行内存调试。
摘要由CSDN通过智能技术生成

[用法]
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: can't 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值