U-Boot常用命令(二)内存相关
关键词:Linux,U-Boot
内存操作命令
内存操作命令用于直接对DRAM进行读写操作,常用的内存操作命令有md、nm、mm、mw、cp、cmp。
md命令
用于显示内存值。
[.b, .w, .l]分别表示以byte(1个字节),word(2个字节),long(4个字节)显示内存值。
address为要查看的内存的起始地址。
[# of objects]为要查看的数据的长度,单位与[.b, .w, .l]参数有关。
以下为查看0x80000000开始的16个字节的内存值。
注意:
md与.b直接无空格。
[# of objects]为十六进制,uboot中的数字均为十六进制数,0x80000000前面的0x可省略。
以下给出使用.b .w .l
的结果。
.w
以word的形式进行查看以0x80000000开始的16个word,即32个字节的数据。同理,用.l
查看以0x80000000开始的16*4=64字节的数据。
nm命令
用于修改指定地址的内存值。
使用示例:以.b的格式修改0x80000000地址的数据为0x12。
dd
为0x80000000地址处现在的数据,?
后面为修改的数据,输入q
退出修改。
mm命令
修改指定地址内存值,使用 mm 修改内存值的时候地址会自增,而使用命令 nm 的话地址不会自增。
使用示例:
mw命令
用于使用一个指定的数据填充一段内存。
示例:以.b格式将0x80000000地址开始的4个内存块填充为0x66。
cp命令
用于数据的拷贝,将DRAM中的数据从一段内存拷贝到另一段内存,也可以将Nor Flash中的数据拷贝到DRAM中。
示例:以.b格式,将0x80000000地址的一个字节拷贝到0x80000001。
cmp命令
用于比较两段内存的数据是否相等。
示例:比较0x80000000、0x80000001、0x80000002地址的数据,比较长度为一个字节。