uboot常用命令:
简单命令:
- re: 重新启动嵌入式系统。
- printenv:打印当前环境变量
- setenv:设置环境变量,格式:setenv name value …,表示将name 变量设置成value 值;如果没有这个参数,表示删除该变量。
- saveenv:保存环境变量到nand中
- sleep:延迟执行,格式:sleep N,可以延迟N秒钟执行。
复杂命令: - bootm:可以引导启动存储在内存中的程序映像。格式:bootm addr1 addr2,第一个参数是程序映像的地址,第二个参数一般是RAMDISK地址。
- nand scrub:暴力擦除指令,擦除整个NAND,会擦除bad block标记。
nand erase:擦除NAND,格式:nand erase addr1 count,第一个参数是OFFSET,第二个参数是擦除字节数。其中OFFSET是相对于Download地址。 - nand write:下载的内存数据写入NAND,格式:nand write addr offset count,第一个参数是写入基地址,第二个参数是偏移地址,第三个参数是写入字节数
- nand bad:测试NAND FLASH坏块的命令。如:nand bad,即可显示坏的区块地址。
- nand read:讲NAND数据读取到内存,格式:nand read addr offset count,第一个参数是读取的NAND地址,第二个参数是内存位置偏移,第三个参数是读取字节数。
- cp:在内存中复制数据块,格式:cp source target count,第一个参数是源地址,第二个参数是目的地址,第三个参数是复制数目。
- dnw:在进入系统之前进入指令行,输入该指令可下载烧录文件。
- cmp:比较内存中的数据块,格式:cmp addr1 addr2 count,第一个参数是内存地址一,第二个参数是内存地址二,第三个是比较长度(单位是字节数除以4,以WORDS为单位)。
其他命令: - crc32:计算校验值,格式:crc32 address count [addr],第一个参数是需校验的起始地址,第二个参数是校验的数据字节数,第三个参 数是保存校验值的地址。
实例详解:
通常我们会回写数据来测试写入跟读取的数据是否一致,如:
假设Download Address: 0xc0000000,Download Filesize:0x1df48c
nand erase 600000 300000 //擦除c0600000为开始的300000个字节
nand write c0000000 600000 300000 //往刚擦除的空间写入内存起始地址的数据共300000个长度
nand read c0600000 600000 300000 //读取刚写入的NAND地址共300000个长度到偏移600000的内存中
cmp c0600000 c0000000 300000 //比较两段内存的数据是否相同