Uboot中bootargs以及bootcmd设置

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)'

Uboot中bootargs以及bootcmd设置_第1张图片

三、常用命令

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" 的文件。

你可能感兴趣的:(夜深人静Uboot,linux,服务器,运维,开发语言)