加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

常用UBoot命令

发布时间:2020-12-15 06:39:01 所属栏目:百科 来源:网络整理
导读:?原文地址: http://www.voidcn.com/article/p-nouezcwd-qx.html dnw:在进入系统之前进入指令行,输入该指令可下载烧录文件。 re:重新启动嵌入式系统。 printenv:打印当前系统环境变量。 setenv:设置环境变量,格式: setenv name value ...,表示将name
?原文地址: http://www.voidcn.com/article/p-nouezcwd-qx.html

dnw:在进入系统之前进入指令行,输入该指令可下载烧录文件。

re:重新启动嵌入式系统。

printenv:打印当前系统环境变量。

setenv:设置环境变量,格式:setenv name value ...,表示将name 变量设置成value 值;如果没有这个参数,表示删除该变量。

saveenv:保存环境变量到NAND中。

sleep:延迟执行,格式:sleep N,可以延迟N秒钟执行。

run:执行环境变量中的命令,格式:run var,可以跟几个环境变量名。

crc32:计算校验值,格式:crc32 address count [addr],第一个参数是需校验的起始地址,第二个参数是校验的数据字节数,第三个参? 数是保存校验值的地址。

cp:在内存中复制数据块,格式:cp? source target count,第一个参数是源地址,第二个参数是目的地址,第三个参数是复制数目。

cmp:比较内存中的数据块,格式:cmp?addr1 addr2 count,第一个参数是内存地址一,第二个参数是内存地址二,第三个是比较长度(单位是字节数除以4,以WORDS为单位)。

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 read:讲NAND数据读取到内存,格式:nand read addr offset count,第一个参数是读取的NAND地址,第二个参数是内存位置偏移,第三个参数是读取字节数。

nand bad:测试NAND FLASH坏块的命令。如:nand bad,即可显示坏的区块地址。

???? 通常我们会回写数据来测试写入跟读取的数据是否一致,如:

假设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????????????? //比较两段内存的数据是否相同

?

???? 此通常会用在DDR调试上,比如128MDDR的MEMORY MAP基地址是0X50000000,空间从0X50000000-0X58000000,如果要改软件支持到256M,假设DOWNLOAD地址是0XC0000000,通过内存拷贝和比较命令来对比0XC0000000和0X59000000的内容是否一致。

*************************************************************************

引用别人之前的解决的一个问题:

????? 当把u-boot下载进去,再把内核下进去后发现,内核跑不起来。反反复复尝试,还是没有进展。在一篇文章中看到了u-boot源代码的配制文件config.mk,打开这个文件,看到内核的启动地址是0x50008000与用户手册上的0xc0008000不一样。就按照这个搞了一下,果然就可以启动内核了。但还是不能烧到flash里去,后来用nand bad命令发现:存放内核的nand flash启始地址是个坏块。所以将内核存在了扩展区才搞成功

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读