[ARM Linux系统移植] U-Boot 的基础命令
"先修"笔记:
help 命令
u-boot 的命令众多,而 help 命令就是查看这些命令如何使用的。单独的 help 命令查看所有支持命令的大致说明;help 后面加上某条具体的命令名称,可以显示这条命令的具体用法。
比如,如图 1 所示,我们可以查看 help 命令的具体说明。
- >help help

bdinfo 命令
bdinfo 命令用于查看开发板的信息。如图 2 所示,bdinfo 命令打印出了大量板子信息,包括 DRAM 的起始地址和大小、启动参数保存的起始地址、波特率和 SP 指针初始地址等等信息。

printenv 命令
bdinfo 命令用于打印环境变量的值。在图 3 中可以看到 bdinfo 命令打印了各种各样目前还不了解用处的环境变量值,以每行的“变量名 = 变量值”的形式显示。

setenv 和 saveenv 命令
可以使用 setenv 命令更改环境变量的值,命令采用“setenv 变量名称 变量值”的形式。在图 3 中可以看到一个名称为 bootdelay 的环境变量,含义是 u-boot 启动的延迟时间,目前的值为 1。使用 setenv 命令更改 bootdelay 的值,使其变为 5。
- >setenv bootdelay 5

setenv 命令修改的是 DRAM 中的值,在 u-boot 启动时会从 FLASH 中读取环境变量信息到 DRAM。从之前的启动信息中的 Warning - bad CRC, using default environment 警告信息可以看出,初始编译烧写到 DRAM 的 u-boot 镜像中并不包含特定的环境变量信息。所以即使使用 setenv 命令修改了 bootdelay 的值,下次重启时环境变量还是没有更改。
要使修改的 bootdelay 环境变量生效,需要使用 saveenv 命令将当前 DRAM 里的环境变量信息写回 FLASH 中。重启开发板之后,不仅发现了 u-boot 的启动延迟时间变为了 5 秒,同时也发现没有出现之前的“bad crc”警告信息。
- >saveenv
还有需要说明的是没有另设环境变量的增加和删除命令。如果 setenv 命令附带的环境变量名称原来没有,那么就会 增加 这个环境变量;如果 setenv 命令中某个变量名称没有指定变量值(即值为空),那么就会 删除 这个环境变量。