Uboot命令
一、Uboot基础命令
查看帮助信息:
uboot#help
打印环境变量:
uboot#printenv
其他命令:
uboot#help
? - 帮助命令,等同于 'help'
base - 打印或设置地址偏移量
bdinfo - 打印板级信息结构
boot - 默认启动操作,即运行 'bootcmd'
bootd - 默认启动操作,即运行 'bootcmd'
bootm - 从内存中引导应用程序镜像
bootp - 通过网络使用 BOOTP/TFTP 协议引导镜像
chpart - 更改活动分区
clk - CLK 子系统
cmp - 内存比较
coninfo - 打印控制台设备和信息
cp - 内存复制
debug - 打开或关闭调试
dfu - 设备固件升级
dhcp - 通过 DHCP/TFTP 协议通过网络引导镜像
dm - 驱动模型低级访问
echo - 将参数输出到控制台
env - 环境变量处理命令
fdt - 扁平设备树实用命令
ftgpio - ftgpio 子系统
ftssp - ftssp 子系统
ftwd - ftwd 子系统
go - 从指定地址启动应用程序
help - 打印命令描述/用法
i2c - I2C 子系统
itest - 在整数比较时返回 true/false
linkstatus- 获取 MAC 连接状态
loadb - 通过串行线加载二进制文件(kermit 模式)
loadx - 通过串口加载二进制文件(xmodem 模式)
loady - 通过串行线加载二进制文件(ymodem 模式)
loop - 在地址范围上进行无限循环
md - 内存显示
mm - 内存修改(自动递增地址)
mtd - MTD 实用工具
mtdparts - 定义 Flash/NAND 分区
mtest - 简单的 RAM 读/写测试
mw - 内存写入(填充)
nego - 打开或关闭协商
nfs - 通过 NFS 协议使用网络引导镜像
nm - 内存修改(固定地址)
phyread - 执行 PHY 寄存器读取
phywrite - 执行 PHY 寄存器写入
ping - 发送 ICMP ECHO_REQUEST 到网络主机
pkt_drop - 接收数据包丢弃,按CTRL+C停止
pkt_loop - 将接收到的数据包复制到发送队列并发送,按CTRL+C停止
portcfg - 配置端口1与 SoC 进行通信
printenv - 打印环境变量
rauread - 执行 SoC 寄存器读取
rauwrite - 执行 SoC 寄存器写入
read - 执行 SoC 寄存器读取
reset - 执行 CPU 复位
run - 运行环境变量中定义的命令
saveenv - 将环境变量保存到持久存储器中
serdesreset- 执行 SERDES 复位
setenv - 设置环境变量
sf - SPI Flash 子系统
sfpled - 测试交换机 LED
不同版本的 U-Boot 可能具有不同的命令集和功能。
二、Uboot配置
1、Uboot的工作模式简介
u-boot有两种工作模式:自启动模式, 交互模式。
交互模式:开发板上电之后,u-boot启动,在串口工具上打印各种信息,当出现倒计时之后,按下电脑键盘上的任意键,此时就会进入到u-boot的交互模式,我们就可以输入各种u-boot命令和u-boot进行交互,u-boot内部解析串口输入的u-boot命令。
自启动模式:开发板上电之后,u-boot启动,在串口工具上打印各种信息,当出现倒计时减到0之前不要按下电脑键盘的任意键,此时u-boot进入自启动的模式,自动的执行u-boot中的环境变量bootcmd后边的添加的u-boot命令。
2、env环境变量配置
设置/新增/修改环境变量:
setenv 环境变量名 环境变量值
saveenv
删除环境变量:
setenv 要删除的环境变量名
saveenv
3、bootcmd自启动配置
方式一:
setenv bootcmd u-boot命令1\; u-boot命令2\; u-boot命令3\;.......
saveenv
方式二:
setenv bootcmd "u-boot命令1; u-boot命令2; u-boot命令3; ......."
saveenv
4、ip网络配置
设置u-boot中的环境变量:
setenv serverip 192.168.2.100 # 设置服务器IP地址为192.168.2.100
setenv ipaddr 192.168.2.99 # 设置本地IP地址为192.168.2.99
setenv netmask 255.255.255.0 # 设置子网掩码为255.255.255.0
setenv gatewayip 192.168.2.1 # 设置网关IP地址为192.168.2.1
saveenv # 保存环境变量到持久存储器中
5、bootargs配置
在 U-Boot 中,设置 bootargs 的格式通常是以字符串的形式进行设置。bootargs 是用来传递内核启动参数的变量,其格式可以根据具体需求进行配置。
setenv bootargs '参数1 参数2 ,参数3 参数4 ' #这里的符号不是‘号 ,在这里打不出来,正确格式如下图所示
Eg:
setenv bootargs 'mmstype=1 device4utype=1 speedtype=1000 i2c_sel=1 mem=1024M console=ttyS0,115200 initrd=0x83000000,96M root=/dev/ram0 rw rootfstype=ext2 machinetype=0x9002 mtdparts=ftspi020.0:5m(system),18m(rootfs),100m(user),-(config)'
三、常用命令
1、flash命令
sf probe #探测连接的 SPI NOR Flash 设备
sf read 0xa0000000 0x1400000 0x600000 #将从 SPI NOR Flash 中读取数据,并将数据存储到内存地址 0xa0000000 开始的位置,读取的长度为 0x600000 字节
2、tftp命令
tftpboot 0x83000000 zImage #从 TFTP 服务器下载名为 "zImage" 的文件,并将其存储到内存地址 0x83000000 处。
go 0x83000000 #将程序控制权转移到内存地址 0x83000000 处,以启动或执行下载的内核镜像文件。
#请确保在执行这两个命令之前,网络连接是正常的,并且 TFTP 服务器上存在名为 "zImage" 的文件。