IMX6ULL移植篇-FAT 格式文件系统操作命令一

一.   FAT 格式文件系统 

FAT/FAT32 曾经是 windows下主流文件格式,虽然FAT已经这么多年了,也见识到一些缺点,但熟悉FAT,还是对文件系统认识有很大帮助。

我所使用的 是正点原子的 阿尔法 开发板,核心板上是 Nand-Flash,而非 EMMC存储芯片。

这里通过对 SD卡进行文件操作命令来使用。

一般来说,需要具备一些认识:

1. 文件存在 flash或硬盘里,还是一个个字节进行存储的,存储介子本身不负责具体内容。如果要对硬盘的数据进行识别,必须需要一定格式,还需要一个驱动程序进行识别。

2. 文件格式最主要作用:格式化管理,快速查找文件。

二.  FAT格式文件操作命令

1.   IMX6ULL的 EMMC 或SD卡分区

IMX6ULL 烧写系统时,是把EMMC或SD卡做了三个分区:

第一个分区: uboot (这个是无法识别的)

第二个分区:存放系统镜像,即Linux zImage+设备树文件(.dtb)。是FAT格式的

第三个分区:存放根文件系统的,EXT4格式的。

2.  FAT 格式文件操作命令

FAT格式文件操作命令,即针对 FAT格式的文件系统的操作。

支持 FAT 格式的文件系统的文件操作命令有 fatinfo、 fatlsfstype fatload fatwrite

(1)  fatinfo 命令

fatinfo 命令令用于查询指定 MMC 设备分区的文件系统信息,格式如下:

fatinfo <interface> [<dev[:part]>]
interface 表示接口,例如 mmc dev 是查询的设备号, part 是要查询的分区。

例如,我们要查SD卡的 分区 0 的文件系统信息,命令如下:

=> fatinfo mmc 0:0

** Unable to use mmc 0:0 for fatinfo **

可以看出,分区0 是查看失败。因为之前说过,SD的第一个分区存放 uboot的,是裸机程序,没有文件系统格式。

SD卡的 分区 1 的文件系统信息,命令如下:

=> fatinfo mmc 0:1
Interface:  MMC
  Device 0: Vendor: Man 000003 Snr 9193d501 Rev: 15.13 Prod: SD32G 
            Type: Removable Hard Disk
            Capacity: 30448.0 MB = 29.7 GB (62357504 x 512)
Filesystem: FAT32 "NO NAME    "
=> 

可以看出,SD卡的分区1即第二个分区,存放的是 FAT格式系统文件。

(2)  fatls 命令

fatls 命令用于查询 FAT 格式设备的目录和文件信息,命令格式如下:
fatls <interface> [<dev[:part]>] [directory]
interface 是要查询的接口,比如 mmc dev 是要查询的设备号, part 是要查询的分区, directory
是要查询的目录。

例如,查询 SD卡的 分区 1 中的所有的目录和文件,可以看出,SD卡没有 FAT格式的文件,只有一个目录。
操作如下:
=> fatls mmc 0:1
            system volume information/

0 file(s), 1 dir(s)

(3)  fstype 命令

fstype 用于查看 MMC 设备某个分区的文件系统格式,命令格式如下:
fstype <interface> <dev>:<part>

例如,查看 SD卡的第 1 个分区。因为分区 0 存放的 uboot,并且分区 0 没有格式化,所以,文件系统格式未知。如下:

=> fstype mmc 0:0
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **

查看 SD卡的第 2 个分区,以下可以看出SD的第 2 个分区的格式是FAT。

结果如下:

=> fstype mmc 0:1
fat

猜你喜欢

转载自blog.csdn.net/wojiaxiaohuang2014/article/details/131602733