uboot-命令

uboot命令

1 命令描述

uboot命令缓冲方式为行缓冲,意思是当我们输入命令时,被缓冲到一个缓冲区,当我们按下回车键后,系统就认为我们输入完成了,然后将缓冲中的所有输入作为命令拿去分析处理。

查看命令帮助的命令:help,查看所有命令。如查看某个命令的帮助,那么输入命令为:help print,就会看到print命令的相关帮助。

uboot命令中的特殊符号:比如说单引号。单引号作用,比如,可以将很长带空格的参数加上单引号,表示这只是一个参数。

有的命令是一个命令族,比如movi命令,此命令和moviNand相关的(EMMC,iNand),三星厂商添加的命令。

命令中,大括号括起来的部分必选1个参数。大括号中的竖线表示多选一。中括号表示可选参数,可以有,也可以没有。

uboot命令中,所有的数字都被默认当作十六进制处理。譬如:movi read u-boot 30008000命令。其中30008000虽然前面没有加0x,但是uboot还是把此数当中十六进制处理。

2. printenv命令

printenv命令简化为print命令。

3. setenv命令

setenv命令简化为set命令。作用:更改内存中的环境变量。

4. movi命令。

movi命令。主要操作inand和SD卡的。具体使用说明可以使用help查看。

5. saveenv命令

saveenv命令简化为save命令:它的作用是将内存(DDR)中的环境变量的值同步保存到Flash中环境变量的分区,此保存是所有环境变量整 体保存,这样设计,主要是Flash是块设计,改一个和改多个操作方式一样。

6. ping命令:比如说ping主机,

如何ping通主机?首先要在板子和主机上插上网线;主机是有线地址,不是WIFI地址,在电脑的本地连接设置IP地址和子网掩码,其它与外网相关可以不设置;确认开发板中uboot里几个网络相关地环境变量值是否正确,确认ipaddr和主机ip地址在同一个网段,如还ping不通,可能情况是网线是坏的,板子网卡不工作(是否闪烁)等。

扫描二维码关注公众号,回复: 4883966 查看本文章
7. tftp命令

uboot部署内核的时候要将内核镜像从主机下载过来然后烧录到Flash中,uboot如何从主机下载镜像到开发板上呢?
(1). 主流方式是:fastboot和tftp方式。fastboot是最近几年发展的。
(2). fastboot的方式是通过USB线进行数据传输,颓废图片是通过有线网络进行数据传输。
(3). tftp方式下载时,uboot相对于tftp客户端程序,主机Windows或者u布努特中必须有一个tftp服务器,然后在开发板中使用uboot的tftp命令去下载即可。
(4). 要使用tftp方式时,首先要在开发板uboot下,能ping通我们搭建的tftp的主机。
(5). 检查开发板uboot的环境变量,serverip必须设置为tftp服务器主机的IP。
(6). 然后执行tftp下载命令,如:tftp 0x30000000 zImage,意思是将服务器上名为zImage的文件下载到开发板的内存的0x30000000地址处。回车后,会看到下载过程。
(7). 镜像下载到开发板DDR中后,uboot就可以用movi指令进行镜像烧写了。

8. nfs命令

挂载根文件系统。

9. bootm命令/go命令

启动内核。

9.1 bootm命令

bootm命令启动内核同时给内核传参。

9.2 go命令

go命令内部其实就是一个函数指针指向一个内存地址然后直接调用那个函数,go命令的实质就是PC直接跳转到一个内存地址去运行。

go命令可以用来在uboot中执行任何的裸机程序,有一种调试裸机程序的方法就是事先启动uboot,然后在uboot中去下载裸机程序,用go命令去执行裸机程序。

10 nand指令

nand指令操作方法类似movi指令。

11 内存操作指令mm,mw,md。
11.1 md指令

memory display,显示内存中的内容。
(1)md.b指令,以字节为单位显示。
例如:
md.b 0x30000000 32。指令中0x30000000表示显示的地址,32表示显示的长度,显示32个字节。
(2)md.w指令,以双字节为单位显示的,如果指令后面有长度32,表示显示32个双字节,即64个字节的数据。
(3)md.l指令,以4字节为单位显示的。

11.2 mw指令

memory write,向指定地址地内存中写数据。
(1)mw.b指令,以字节为单位写内存。
例如:
mw.b 0x30000000 32。表示把32写到内存地址为0x30000000的位置。
(2)mw.w指令。
(3)mw.l指令。

11.3 mm指令

memory mmodify,可以批量的写入数据,
例如:
mm.b 0x30000000。输入命令后,回车,然后会提示输入修改的数字,再回车,本次字节内容修改了,并会提示输入修改下一个字节的内容。

12 reset指令

重启。

参考:朱老师物联网大讲堂。

猜你喜欢

转载自blog.csdn.net/chentaoxie/article/details/84098437