U-Boot 命令使用

进入 uboot 的命令行模式以后输入“help”或者“?”,然后按下回车即可查看当前 uboot 所 支持的命令,如图 所示:

  •  我们输入“help(或?) 命令名”既可以查看命令的详细用法,以“bootz”这 个命令为例,我们输入如下命令即可查看“bootz”这个命令的用法:

? bootz 或 help bootz

  • 如图 所示:

  •  图 中就详细的列出了“bootz”这个命令的详细,其它的命令也可以使用此方法查询 具体的使用方法。接下来我们学习一下一些常用的 uboot 命令。

1.信息查询命令

  • 常用的和信息查询有关的命令有 3 个:bdinfo、printenv 和 version。先来看一下 bdinfo 命 令,此命令用于查看板子信息,直接输入“bdinfo”即可

  • 图中可以得出 DRAM 的起始地址和大小、启动参数保存起始地址、波特率、 sp(堆栈指针)起始地址等信息。
  • 命令“printenv”用于输出环境变量信息,uboot 也支持 TAB 键自动补全功能,输入“print” 然后按下 TAB 键就会自动补全命令,直接输入“print”也可以。输入“print”,然后按下回车键,

 图中有很多的环境变量,比如 baudrate、board_name、board_rec、boot_fdt、bootcmd 等等。uboot 中的环境变量都是字符串,既然叫做环境变量,那么它的作用就和“变量”一样。

命令 version 用于查看 uboot 的版本号,输入“version”,uboot 版本号如图所示

可以看出,当前 uboot 版本号为 2016.03,2023 年 4 月 19 日编译的,编译器为 aarm-linux-gnueabihf-gcc。

 

2.环境变量操作命令

1、修改环境变量

环境变量的操作涉及到两个命令:setenv 和 saveenv,命令 setenv 用于设置或者修改环境变 量的值。命令 saveenv 用于保存修改后的环境变量,一般环境变量是存放在外部 flash 中的, uboot 启动的时候会将环境变量从 flash 读取到 DRAM 中。所以使用命令 setenv 修改的是 DRAM 中的环境变量值,修改以后要使用 saveenv 命令将修改后的环境变量保存到 flash 中,否则的话 uboot 下一次重启会继续使用以前的环境变量值。

命令 saveenv 使用起来很简单,格式为:

saveenv

比如 bootdelay 这个环境变量就表示 uboot 启动延时时间,默认 bootdelay=3,也就默认延时 3 秒。前面说的 3 秒倒计时就是由 bootdelay 定义的,如果将 bootdelay 改为 5 的话就会倒计时 5s 了。uboot 中的环境变量是可以修改的,有专门的命令来修改环境变量的值,

比如我们要将环境变量 bootdelay 改为 5,就可以使用如下所示命令:

setenv bootdelay 5

saveenv

 当我们使用命令 saveenv 保存修改后的环境变量的话会有保存过程提示 信息,根据提示可以看出环境变量保存到了 MMC(0)中,也就是 SD 卡中。因为我们现在将 uboot 烧写到了 SD 卡里面,所以会保存到 MMC(0)中。如果烧写到 EMMC 里面就会提示保存到 MMC(1),也就是 EMMC 设备。

修改 bootdelay 以后,重启开发板,uboot 就是变为 5 秒倒计时。

有时候我们修改的环境变量值可能会有空格,比如 bootcmd、bootargs 等,这个时候环境变 量值就得用单引号括起来,比如下面修改环境变量 bootargs 的值:

setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'

saveenv

上面命令设置 bootargs 的值为“console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw”, 其中“console=ttymxc0,115200”、“root=/dev/mmcblk1p2”、“rootwait”和“rw”相当于四组“值”, 这四组“值”之间用空格隔开,所以需要使用单引号‘’将其括起来,表示这四组“值”都属 于环境变量 bootargs。

3新建环境变量

命令 setenv 也可以用于新建命令,用法和修改环境变量一样,比如我们新建一个环境变量 author,author 的值为我的名字拼音:hsj,那么就可以使用如下命令:

setenv author hsj

saveenv

新建命令 author 完成以后重启 uboot,然后使用命令 printenv 查看当前环境变量,如图

 删除环境变量

既然可以新建环境变量,肯定也可以删除环境变量,删除环境变量也是使用命令 setenv, 要删除一个环境变量只要给这个环境变量赋空值即可,比如我们删除掉上面新建的 author 这个 环境变量,命令如下:

setenv author

saveenv

上面命令中通过 setenv 给 author 赋空值,也就是什么都不写来删除环境变量 author。重启 uboot 就会发现环境变量 author 没有了。

注意:这里只是简单的使用了几个命令,我们可以使用help查看更多命令,然和使用?command name(命令名) 或者 help command name(命令名)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值