一、uboot环境变量命令
1.1 uboot模式
自启动模式
uboot 启动后若没有用户介入,倒计时结束后会自动执行自启动环境变量 (bootcmd) 中设置的命令(一般作加载和启动内核)
交互模式
倒计时结束之前按下任意按键 uboot 会进入交互模式,交互模式下,用户可输入 uboot 命令
1.2 uboot帮助命令
help
查看 uboot 支持的所有命令
help 命令
查看当前命令的使用方法
1.3 uboot环境变量命令
printenv
打印 uboot 中所有的环境变量
setenv
设置指定的环境变量(保存在 RAM 中)
setenv 环境变量 环境变量的值
saveenv
保存所有环境变量到 EMMC 中
1.4 uboot 常用环境变量
ipaddr
uboot 的 IP 地址
serverip
服务器的 IP 地址(即 ubuntu 的 IP )
bootdelay
进入自启动模式之前倒计时的秒数
二、uboot网络传输命令
loadb
通过 Kermit 协议下载文件到指定的内存地址
loadb 地址
tftp
通过 tftp 协议下载文件到指定的内存地址
tftp 地址 文件名
注:使用 tftp 之前要配置好网络及 tftp 服务器
1、选择桥接模式,桥接至有线网卡,配置ubuntu的ip信息
2、sudo service tftpd-hpa restart 命令重启tftp
3、开发板的ipaddr和服务器必须是同一个网段的,serverip必须和ubuntu服务器ip一致
4、插网线
然后我们测试一下
测试一下网络是否连通
三、uboot存储器访问命令
mmc read
将EMMC中指定扇区中的内容读取到内存中指定的地址
mmc read <addr> <blk#> <cnt>
addr: 内存地址
blk#: EMMC中的扇区编号
cnt: 读取的扇区的个数
mmc write
将内存中指定地址中的内容写入到EMMC中指定的扇区
mmc write <addr> <blk#> <cnt>
测试一下:
先通过tftp命令下载一个interface.bin文件到开发板(客户端)
使用mmc write命令把内存文件写到外存,0表示写到EMMC中(不同编号表示存储器不同)。
如何验证:之前都是下载到内存,开发板一断电,文件就消失了。但现在下载到了外存EMMC,断电不会消失。
再把interface.bin文件读到内存,然后运行。
四、uboot自启动环境变量
bootcmd
自启动的环境变量
该环境变量可以设置成一到多个uboot命令的集合(若有多个使用\;分割)
自启动模式下uboot就会按照bootcmd中命令的顺序逐条执行
eg:
setenv bootcmd tftp 40008000 interface.bin\;go 40008000
saveenv
测试一下:
我们把自启动环境变量设置成printenv,并用saveenv命令保存。下次再启动开发板,进入自启动模式后,就会自动打印出uboot的环境变量。
要使用多个命令时,用\;分割。如:setenv bootcmd printenv\;printenv