IMX6ULL系统移植篇-uboot基础命令

一.  uboot 启动

当设备上电启动时,需要马上按下回车键,开发板启动会停止在 uboot的启动Log信息时刻。

这就是 uboot的命令模式,即可以输入 uboot命令进行一些操作。

二.    uboot 基础命令

1.  help 命令

当开发板上电启动后,马上按下 回车键即可进入 uboot的命令模式,输入 help命令或者输入问号符 "?" 都可以查看开发板上的 uboot所支持的所有的命令。

如下所示(以下只显示了一部分命令):

=> help
?       - alias for 'help'
base    - print or set address offset
bdinfo  - print Board Info structure
bmode   - sd1|sd2|qspi1|normal|usb|sata|ecspi1:0|ecspi1:1|ecspi1:2|ecspi1:3|esdhc1|esdhc2|esdhc3|esdhc4 [noreset]
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootm   - boot application image from memory

如果需要查看某一个命令的帮助信息:?+ 命令名

例如,需要查看 命令 echo 的帮助信息,可以输入: ? echo

=> ? echo
echo - echo args to console

Usage:
echo [args..]
    - echo args to console; \c suppresses newline
=> 

 

2.   信息查询命令

printenv 命令:查看开发板当前的环境变量命令

bdinfo 命令:查看 uboot的信息命令

如下打印所有的环境变量值:

=> printenv
author=wangtian
baudrate=115200
board_name=EVK
board_rev=14X14
bootargs=console=ttymxc0,115200 ubi.mtd=5 root=ubi0:rootfs rootfstype=ubifs mtdparts=gpmi-nand:4m(u-boot),128k(env),1m(logo),1m(dtb),8m(kernel),-(rootfs)
bootcmd=nand read ${loadaddr} 0x620000 0x800000;nand read ${fdt_addr} ${fdt_offset} 0x20000;bootz ${loadaddr} - ${fdt_addr}
bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};
bootdelay=3

 3.  环境变量相关命令

 

setenv 命令:设置所有的环境变量。也可以自定义环境变量。也可以删除环境变量。

saveenv 命令:保存开发板的环境变量,即把所有的环境境变量值保存到 Nand-Flash或 EMMC中。

例如,saveenv 命令的使用:

当开发板停留在 uboot启动时刻时,打印了如下信息:

 

 以上打印信息的意思是:我们并没有把默认的环境变量保存到开发板上去,于是使用了默认的环境变量。

此时,输入 saveenv 命令,就可以把 uboot的默认环境变量的值保存到开发板的 Nand-Flash(或 EMMC中)中去。执行 saveenv命令后,设备之后再重启就不会打印以上的 Warning信息了。

如下操作:

 setenv 命令的使用:

例如,这里我们想更改 bootdelay的值,通过 printenv命令可以知道,现在 bootdelay的值是1,也就是 uboot启动后延时了1 秒后才启动 Linux内核的。

这里想将 bootdelay的值改为 3。输入命令如下:

setenv bootdelay 3  //这里只是在代码更改了 bootdelay的值,并没有保存到Nand-Flash中

还需要将更改的 bootdelay 保存,输入命令如下:

saveenv  //将更改的 bootdelay的值保存到 Nand_flash中

操作如下:

=> setenv bootdelay 3
=> saveenv
Saving Environment to NAND...
Erasing NAND...
Erasing at 0x400000 -- 100% complete.
Writing to NAND... OK

这时的 bootdelay 的值已经被保存到 Nand-Flash,可以使用 printenv 命令 查看。 也可以将开发板重新上电,验证 uboot启动后是否为 3 秒倒计时。

4.  新建环境变量 / 删除环境变量

(1)  自定义环境变量

自定义环境变量 即定义添加一个新的环境变量。

操作如下:

=> setenv author wangtian 
=> saveenv
Saving Environment to NAND...
Erasing NAND...
Erasing at 0x400000 -- 100% complete.
Writing to NAND... OK

再通过 printenv 命令查看,是否已经创建成功。如下:

=> printenv
author=wangtian

(2)  删除环境变量

setenv 命令可以删除环境变量。

把一个环境变量的值设置为空值,即就是删除了该环境变量。

=> setenv author
=> saveenv
Saving Environment to NAND...
Erasing NAND...
Erasing at 0x400000 -- 100% complete.
Writing to NAND... OK

再通过 printenv 命令查看,环境变量 author 已经被删除了。

如下所示:

=> printenv
baudrate=115200
board_name=EVK
board_rev=14X14
bootargs=console=ttymxc0,115200 ubi.mtd=5 root=ubi0:rootfs rootfstype=ubifs 

猜你喜欢

转载自blog.csdn.net/wojiaxiaohuang2014/article/details/131503747