本文轉載於:http://blog.sina.com.cn/s/blog_838007b101013n0y.html
memdev:直接讀寫內存。
可以在busybox的雜項中找到:CONFIG_USER_BUSYBOX_DEVMEM:
devmem is a small program that reads and writes from physical
memory using /dev/mem.
Symbol: USER_BUSYBOX_DEVMEM [=y]
Prompt: devmem
Defined at ../user/busybox/busybox-1.14.3/miscutils/Kconfig:216
Depends on: USER_BUSYBOX_BUSYBOX
Location:
-> BusyBox (USER_BUSYBOX_BUSYBOX [=y])
-> Miscellaneous Utilities
[用法]
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。
/dev # devmem 0x97000000
0x7777ABCD