uboot内存操作命令命令用于直接对DRAM进行读写操作,常用命令有md、nm、mm、mw、cp、cmp。
1.md
命令格式:md[.b,.w,.l] address [# of objects]
[.b,.w,.l]分别代表byte(1Byte)、word(2Byte)和long(4Byte),忽略该字段默认为w;
address为查看内存地址的起始地址;
[# of objects]为要查看的数据长度,以[.b,.w,.l]中代表的字节长度为单位长度,是16进制数。
命令执行实例如下:
2.nm
nm命令用于修改内存的值。
命令格式:nm [.b, .w, .l] address
实例如下,先读取0x80000000处1Byte数据,将其修改为0x12,再使用md命令确认修改成功。
nm命令修改之后地址不会递增。
3.mm
mm命令用于修改内存的值,修改内存值的时候地址会自增。
命令格式:mm [.b, .w, .l] address
实例如下,连续修改0x80000000,0x80000004,0x80000008的值:
4.mw
命令mw用于使用一个指定的数据填充一段内存。
命令格式:mw [.b, .w, .l] address value [count]
5.cp
cp是数据拷贝命令,用于将 DRAM中的数据从一段内存拷贝到另一段内存中,或者把Nor Flash中的数据拷贝到 DRAM中。
命令格式:cp [.b, .w, .l]
可以用 .b、.w、.l来指定操作格式, source为源地址, target为目的地址, count为拷贝的长度。
实例如下:
6.cmp
cmp用于比较两段内存的数据是否相等。
命令格式:cmp [.b, .w, .l] addr1 addr2 count
可用 .b、 .w和 .l来指定操作格式, addr1为第一段内存首地址, addr2为第二段内存首地址,count为要比较的长度。
实例如下: