uboot常见命令机器使用

环境变量设置

setenv

设置一个环境变量

# 格式:setenv key vlaue
setenv bootdelay 5  # 设置uboot启动延时5s

删除一个环境变量
uboot对于一个没有值的环境变量,默认不再维护,做删除处理

# 格式:setenv key 
setenv ipaddr   # 删除ipaddr,让ipaddr不复存在

修改一个环境变量

# 格式:setenv key vlaue
setenv bootdelay 5  # 原来的bootdleay值被覆盖,采用新值5

saveenv

uboot启动时,从非易失性存储器中读取环境变量的值,在内存中维护一份拷贝,当采用setenv命令创建、修改、或者删除后,内存中被相应地创建、修改或者删除,非易失存储器中的那一份并没有改变。直到执行saveenv,写入非易失性存储器。

print

# 1.打印所有环境变量及其值。
print # 打印所有

# 2. 打印某一个
# 如果要查看某个你知道名字的环境变量,可以使用该命令。例如,打印bootcmd命令:
print bootcmd # 只打印bootcmd

系统启动相关的命令

bootz

bootz命令根据给定的kernel、dtb在ddr中的地址,去启动内核。可以通过多种方式(tftp命令、fatload命令等方式将zImage、dtb加载到ddr指定位置)
输入参数1:zImage_addr
输入参数2:dtb_addr

# if zimage_addr=80800000 dtb_addr=83000000
tftp 80800000 zImage
tftp 83000000 xxxx.dtb
bootz 80800000 - 83000000

bootm

bootm用于启动uImage

boot

boot命令执行uboot环境变量bootcmd中定义好的一组命令来启动系统。这一组命令一般包含
1)将kerneldtb拷贝到ddr指定位置的命令
2)bootz或者bootm命令

# 执行boot命令则执行环境变量bootcmd中定义好的命令
# 测试该命令,可以自定定义bootcmd命令,如下所示:
# 下面使用双引号包含多个命令,命令之间用分号隔开,单引号也可以
setenv bootcmd "tftp 80800000 zImage;tftp 83000000 xxxx.dtb;bootz 80800000 - 83000000"
saveenv   # 做测试可以不保存,如果保存了,聚会写入环境变量区
boot

run

run命令可以执行一个自定义命令,这个自定义命令的名字以一个环境变量形式出现,环境变量的内容就是用户要执行的一系列命令集合。

setenv usercmd "tftp 80800000 zImage;tftp 83000000 xxxx.dtb;bootz 80800000 - 83000000"
run usercmd

run命令和boot命令很相似,知识boot命令默认会执行bootcmd中定义好的一系列操作,不需要制定这个环境变量,但是run命令需要明确指定这个变量的名字。

reset

复位系统。这里值得注意,uboot的复位不是reboot,reboot一般指操作系统重启。

版权声明:本文为uil2liu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/uil2liu/p/15244714.html