U-Boot命令使用

uboot操作命令

1、信息查询命令

常用的信息查询有关的命令有三个:bdinfo、printenv、version。

命令描述
bdinfo查看板子信息
printenv输出环境变量信息
version查看uboot的版本号

2、环境变量操作命令

环境变量的操作涉及到两个命令:setenvsaveenv

setenv命令用于创建、修改环境变量的值,也可以用于删除环境变量;

saveenv命令用于保存修改后的环境变量。

一般环境变量是存放在外部flash中的,uboot启动的时候会将环境变量从flash读取到DRAM中,所以使用命令setenv修改的是DRAM中的环境变量值,修改后需使用saveenv命令将环境变量保存到flash中。

3、内存操作命令

内存操作命令就是用于直接对 DRAM 进行读写操作的,常用的内存操作命令有 md、 nm、mm、 mw、 cp 和 cmp。 U-boot内存操作命令

4、网络操作命令

uboot是支持网口的,在移植uboot的时候都要调通网络的功能,因为在移植linux内核的时候需要用到uboot的网络功能做调试。uboot支持的网络相关的命令有:dhcp、ping、nfs、ftfpboot。

使用网络调试前需先设置好下列几个环境变量。

环境变量描述
ipaddr开发板的IP地址,可以通过dhcp命令从路由器获取IP
ethaddr开发板的MAC地址,一定要设置
gatewayip网关地址
netmask子网掩码
serverip服务器IP地址,也就是ubuntu主机的IP地址,用于调试
setenv ipaddr 192.168.1.50
setenv ethaddr b8:ae:1d:01:00:00
setenv gatewayip 192.168.1.1
setenv netmask 255.255.255.0
setenv serverip 192.168.1.253
saveenv

U-boot网络操作命令

5、EMMC和SD卡操作命令

uboot支持EMMC和SD卡,提供了EMMC和SD卡的操作命令。一般认为EMMC和SD卡就是同一个东西,所以没有特殊说明,统一使用MMC来代指EMMC和SD卡。uboot中常用于操作MMC设备的命令为:mmc

mmc是一系列的命令,后面可以跟不同的参数,输入“? mmc”即可查看mmc有关的命令。如下图所示:
uboot-mmc命令

mmc后面跟不同的参数可以实现不同的功能。

命令描述
mmc info输出MMC设备信息
mmc read读取MMC中的数据
mmc write向MMC设备写入数据
mmc rescan扫描MMC设备
mmc part列出MMC设备的分区
mmc dev切换MMC设备
mmc list列出当前有效的所有MMC设备
mmc hwpartition设置MMC设备的分区
mmc bootbus …设置指定MMC设备的BOOT_BUS_WIDTH域的值
mmc bootpart …设置指定MMC设备的boot和RPMB分区的大小
mmc partconf …设置指定MMC设备的PARTITION_CONFG域的值
mmc rst复位MMC设备
mmc setdsr设置DSR寄存器的值

6、FAT格式文件系统操作命令

有时候需要在uboot中对SD卡或者EMMC中存储的文件进行操作,此时就需要用到文件操作命令,根文件操作相关的命令有:fatinfo、fatls、fatype、fatload和fatwrite
uboot-fat文件系统

  • interface:表示接口,比如mmc;
  • dev:查询的设备号;
  • part:要查询的分区;
  • directory:要查询的目录;
  • addr:读写数据在DRAM中的起始地址;
  • filename:读写的文件名;
  • bytes:读写数据字节数;
  • pos:要读取的文件相对文件首地址的偏移;

7、EXT格式文件系统操作命令

uboot有ext2和ext4两种格式的文件系统的操作命令,常用命令为:ext2load、ext2ls、ext4load、ext4ls和ext4write。这些命令的含义和使用方式与fatload、fatls和fatwrite一样。

8、NAND操作命令

在uboot中输入“? nand”即可查看NAND相关命令,如下图所示:
uboot-nand

命令描述
nand info打印NAND Flash信息
nand device切换NAND Flash
nand errase擦除NAND Flash
nand write向NAND Flash指定地址写入指定的数据
nand read从NAND Flash指定的地址读取数据到DRAM中

  1. nand errase

NAND Flash 的特性决定了在向 NAND Flash 写数据之前一定要先对要写入的区域进行擦除。 nand erase命令有三种形式:

nand erase[.spread] [clean] off size //从指定地址开始(off)开始,擦除指定大小(size)的区域。
nand erase.part [clean] partition //擦除指定的分区
nand erase.chip [clean] //全篇擦除

NAND 的擦除命令一般是配合写命令的。


  1. nand write

此命令用于向 NAND 指定地址写入指定的数据,一般和“nand erase”命令配置使用来更新NAND 中的 uboot、 linux kernel 或设备树等文件,命令格式如下:

nand write addr off size

addr 是要写入的数据在DRAM中首地址, off 是 NAND 中的目的地址, size 是要写入的数据大小。


  1. nand read

此命令用于从 NAND 中的指定地址读取指定大小的数据到 DRAM 中,命令格式如下:

nand read addr off size

addr 是DRMA目的地址, off 是要读取的 NAND 中的数据源地址, size 是要读取的数据大小。

9、BOOT操作命令

uboot的主要目的是引导linux,uboot中用于引导linux的命令有:bootz、bootm、boot。

  1. bootz命令用于启动zImage镜像文件。
#命令格式
bootz [addr [initrd[:size]] [fdt]]
#使用示例
bootz 80800000 - 83000000

bootz有三个参数:

addr:linux镜像文件在DRAM中的位置;

initrd:initrd文件在DRAM中的位置,如果不适用initrd的话使用“-”代替即可;

fdt:设备树文件在DRMA中的位置。


  1. bootm命令用于启动uImage文件。

如果不适用设备树的话,启动内核命令如下:

bootm addr

addr 是 uImage 镜像在 DRAM 中的首地址。

如果要使用设备树,那么 bootm 命令和 bootz 一样,命令格式如下

bootm [addr [initrd[:size]] [fdt]]

addr:是 uImage 在 DRAM 中的首地址;
initrd:是 initrd 的地址,如果 initrd 为空的话,同样是用“-”来替代 ;
fdt:是设备树(.dtb)文件在 DRAM 中的首地址。


  1. boot命令

boot会读取环境变量bootcmd来启动linux系统。bootcmd是一个很重要的环境变量,其保存这引导命令,其实就是启动的命令集合。

比如我们要想使用 tftp 命令从网络启动 Linux 那么就可以设置 bootcmd 为tftp 80800000 zImage; tftp 83000000 imx6ull-14x14-emmc-7-1024x600-c.dtb; bootz 80800000 -83000000,然后使用 saveenv 将 bootcmd 保存起来。然后直接输入 boot 命令即可从网络启动Linux 系统,命令如下:

setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-14x14-emmc-7-1024x600-c.dtb;bootz 80800000 - 83000000'
saveenv
boot

10、其他操作命令

uboot中还有其他一些常用命令:reset、go、run和mtest等。

命令描述格式
reset复位重启reset
go跳转到指定地址处执行应用go addr [args…]
run运行环境变量中定义的命令run bootcmd
mtest内存读写测试,测试DDRmtest start end pattren iterations
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值