uboot常用命令及其使用
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,写入非易失性存储器。
# 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一般指操作系统重启。