uboot常用命令

在 uboot 命令模式下

用命令 mmc list 列出当前的 MMC 设备

比如看SD 卡和 EMMC 驱动是否正常

输入下面代码

mmc list


 用命令mmc dev切换当前 MMC 设备 

检查每个 MMC 设备信息,先检查 MMC 设备 0,输入如下命令:

mmc dev 0

切换到sd后,输入下面命令查看信息

mmc info

mmc 设备 0 是 SD 卡, SD 卡容量为 14.8GB

这个和我所使用的SD 卡信息相符,说明 SD 卡驱动正常。

再来检查 MMC 设备 1,输入如下命令:

mmc dev 1


切换到emmc后,输入下面命令查看信息:

mmc info

 

mmc 设备 1 为 EMMC,容量为 7.3GB,说明 EMMC 驱动也正常

 用命令mmc info输出 MMC 设备信息

这使用 MMC 来代指 EMMC 和 SD 卡,uboot 中常用于操作 MMC 设备的命令为“mmc”

输出当前选中的 mmc info 设备的信息,输入命令“mmc info”即可

用命令print查看环境变量

输入print就会打印出环境变量,如下图(部分)

用命令mmc part来查看其分区

比如查看 EMMC 的分区情况

 此时 EMMC 有两个分区,EMMC 是有 3 个分区的,第 0 个分区存放 uboot,第 1 个分区存放
Linux 镜像文件和设备树,第 2 个分区存放根文件系统,因为第 0 个分区没有格式化,所以识别不出来,实际上第 0 个分区是存在的
 

用命令 setenv 修改/添加/删除变量,用命令seveent保存

 比如需要修改环境变量panel的值为TFT7016,如图,此时值为43AB

 输入命令+变量名+修改内容(+号改为空格),按回车之后保存修改

 setenv panel TFT7016

 saveenv

 

 保存之后再print打印一下环境变量看该值是否被修改

添加变量和修改变量一样 输入命令+变量名+内容,而删除变量就只需要 输入命令+变量名即可

操作之后一定要保存!

要注意的是,一些修改需要带单引号,比如下面,带空格的

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

setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-my-emmc.dtb; bootz
80800000 - 83000000'

用命令fatls查询 FAT 格式设备的目录和文件信息

命令格式:fatls <interface> [<dev[:part]>] [directory]
interface 是要查询的接口
dev 是要查询的设备号, part 是要查询的分区, directory是要查询的目录

比如查询 EMMC 分区 1 中的所有的目录和文件

用命令 fatload 将指定的文件读取到 DRAM 中

命令格式:fatload <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]]

interface 为接口,比如 mmc, dev 是设备号, part 是分区

addr 是保存在 DRAM 中的起始地址, filename 是要读取的文件名字

bytes 表示读取多少字节的数据,如果 bytes 为 0 或者省略的话表示读取整个文件

pos 是要读的文件相对于文件首地址的偏移,若为 0 或者省略表示从文件首地址开始读取

比如将 EMMC 分区 1 中的 zImage 文件读取到 DRAM 中的0X80800000 地址处
 

用命令bootz 来启动 Linux 系统

bootz 80800000(镜像地址) - 83000000(设备树dtb地址)

把对应文件都在对应地址上面,输入命令即可启动Linux系统

用命令boot 来启动 Linux 系统

boot 命令也是用来启动 Linux 系统的,只是 boot 会读取环境变量 bootcmd 来启动 Linux 系统,
“boot”和“cmd”,也就是“引导”和“命令”,说明这个环境变量保存着引导命令,其实就是启动的命令集合,具体的引导命令内容是可以修改的

比如要想使用 tftp 命令从网络启动 Linux 那么就可以设置 bootcmd 为

“tftp 80800000 zImage; tftp 83000000 imx6ull-14x14-emmc-7-1024x600-c.dtb; bootz 80800000 -83000000”

这里设置好通过网络下载镜像文件和设备树文件,并给定地址

然后使用 saveenv 将 bootcmd 保存。最后直接输入 boot 命令即可从网络启动Linux 系统即可

如果想从 EMMC 启动那就设置 bootcmd 为

“fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ull-14x14-emmc-7-1024x600-c.dtb; bootz 80800000 - 83000000”

然后使用 boot命令启动即可