uboot命令使用学习(5)

学习目标:

uboot命令使用学习(5)
FAT格式文件系统操作命令
EXT格式文件系统操作命令

学习内容:

学习使用了正点原子的I.MX6ULL教程及开发平台。
1、fatinfo命令
2、fatls命令
3、fstype命令
4、fatload命令
5、fatwrite命令
6、ext4ls命令

学习时间:

2022-06-01

学习产出:

有时候需要在uboot中对SD卡或者EMMC中存储的文件进行操作,这时候就需要用到文件操作命令,根据文件系统的不同,操作的命令也有所不同。fatinfo、fatls、fatload、fatwrite都是针对FAT格式的文件系统,ext4ls针对EXT格式的文件系统。
1、FAT格式文件系统操作命令
1.1 fatinfo命令
fatinfo命令用于查询指定MMC设备分区的文件系统信息,格式如下:
fatinfo [<dev[:part]>]
interface表示接口,比如mmc,dev是查询的设备号,part是查询的分区。比如我们要查询EMMC分区1的文件系统信息,命令如下:
fatinfo mmc 1:1
结果如图所示。
在这里插入图片描述
从上图可以看出,EMMC分区1的文件系统为FAT32格式的。
1.2 fatls命令
fatls命令用于查询FAT格式设备的目录和信息,命令格式如下:
fatls [<dev[:part]>] [directory]
interfce是要查询的接口,比如mmc,dev是要查询的设备号,part是要查询的分区,directory是要查询的目录。
比如查看EMMC分区1中的所有目录和文件,输入命令:
fatls mmc 1:1
如图所示。
在这里插入图片描述从图中可以看出,emmc的分区1中存放着8个文件。

1.3 fstype命令
fstype用于查看MMC设备某个分区的文件系统格式,命令格式如下:
fstype interface dev:part
interface是要查询的接口,dev是要查询的设备号,part是要查询的分区。
使用的开发板上,EMMC中默认有三个分区,可以查看一下这三个分区的文件系统格式,如图所示。

从上图可以看出,因为分区0存放的uboot,并且分区0没有格式化,所以文件系统格式未知。分区1存放着linux镜像和设备树。分区2的格式为ext4,用于存放Linux的根文件系统(rootfs)。
1.4 fatload命令
fatload命令用于将指定的文件读取到DRAM中,命令格式如下:
fatload [<dev[:part]> [ [ [bytes [pos]]]]]
interface为接口,比如mmc,dev是设备号,part是分区,addr是保存在DRAM中的起始地址,filename是要读取的文件名字,byte表示要读取多少字节的数据,比如byte为0或者省略的话表示要读取整个文件。pos表示要读的文件相对文件首地址的偏移,弱国为0或者省略的话表示从文件首地址开始读取。
比如将EMMC分区1的zImage文件读取到DRAM中的0x80800000地址处,命令如下:
fatload mmc 1:1 80800000 zImage
如图所示。
在这里插入图片描述
1.5 fatwrite命令
uboot中默认是没有使能fatwrite命令,需要修改板子配置的头文件。找到板子配置的头文件然后添加如下一行的宏定义使能fatwrite命令:
#define CONFIG_FAT_WRITE / 使能 fatwrite 命令 /
fatwrite命令用于将DRAM中的数据写入到MMC设备中,命令格式如下:
fatwrite <dev[:part]>
interface为接口,比如mmc,dev是设备号,part是分区,addr是要写入的数据在DRAM中的起始地址,filename是写入的数据文件名字,bytes是要写入多少字节的数据。
我们可以通过fatwrite命令在uboot中更新Linux镜像和设备树文件,以更新Linux的镜像文件zImage为例,首先通过TFTP将zImage下载到DRAM的0x80800000地址处,如下图所示。
在这里插入图片描述
从图中可以看出zImage的文件大小问6785480字节(0x6789c8),使用命令fatwrite将其写入到EMMC的分区1中,文件名字为zImage,如下图所示。
在这里插入图片描述
然后使用fatls命令查看EMMC分区1里面的文件,如图所示。
在这里插入图片描述
从图中可以看出与下载的文件大小一致。
2 、EXT格式文件系统操作命令
uboot 有 ext2 和 ext4 这两种格式的文件系统的操作命令,常用的就四个命令,分别为:ext2load、 ext2ls、 ext4load、 ext4ls 和 ext4write。这些命令的含义和使用与 fatload、 fatls 和 fatwrite一样,只是 ext2 和 ext4 都是针对 ext 文件系统的。比如 ext4ls 命令, EMMC 的分区 2 就是 ext4格式的,使用 ext4ls 就可以查询 EMMC 的分区 2 中的文件和目录,输入命令:
ext4ls mmc 1:2
如图所示。
在这里插入图片描述

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值