在U-boot下可以通过md和mw命令操作DDR内存,具体用法如下:
mw命令格式:
mw - memory write (fill) Usage:
mw [.b, .w, .l] address value [count]
写数据到DDR中:
mw.b 0x20000000 0x12 //数据长度为8位
mw.w 0x20000000 0x1234 //数据长度为16位
mw.l 0x20000000 0x12345678 //数据长度为32位
md命令格式:
md - memory display
Usage:
md [.b, .w, .l] address [# of objects]
从DDR中读取数据:
md.b 0x20000000 0x4 //数据长度为8位,读取4个数据
md.w 0x20000000 0x4 //数据长度为16位,读取4个数据
md.l 0x20000000 0x4 //数据长度为32位,读取4个数据
在Linux下可以通过devmem命令操作DDR内存,具体用法如下:
devmem命令格式:
Usage: devmem ADDRESS [WIDTH [VALUE]] Read/write from physical address
ADDRESS Address to act upon
WIDTH Width (8/16/...)
VALUE Data to be written
写数据到DDR中:
devmem 0x20000000 8 0x12 //数据长度为8位
devmem 0x20000000 16 0x1234 //数据长度为16位
devmem 0x20000000 32 0x12345678 //数据长度为32位
从DDR中读取数据:
devmem 0x20000000 8 //数据长度为8位
devmem 0x20000000 16 //数据长度为16位
devmem 0x20000000 32 //数据长度为32位