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

一.  FAT 格式文件

本文承接上一篇 FAT格式文件操作命令的学习,如下:

IMX6ULL移植篇-FAT 格式文件系统操作命令一_凌肖战的博客-CSDN博客

IMX6ULL的 zImage(即内核) 与 设备树(.dtb)文件在 EMMC或 SD卡中都是以 FAT格式存在的。

这里所用的 阿尔法开发板的存储芯片是 NAND-FLash,而非 EMMC。

所以,本文对 SD卡进行操作来学习 FAT格式文件操作命令。主要有如下两个操作命令;

二.  FAT 格式文件操作命令

 (1)   fatload 命令

fatload 命令用于将指定的文件读取到 DRAM 中,命令格式如下:

fatload <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]] 

interface 为接口,比如 mmc,dev 是设备号,part 是分区,

addr 是保存在 DRAM 中的起始地址,

filename 是要读取的文件名字。

bytes 表示读取多少字节的数据,如果 bytes 为 0 或者省 略的话表示读取整个文件。

pos 是要读的文件相对于文件首地址的偏移,如果为 0 或者省略的 话表示从文件首地址开始取。

如果开发板上的存储芯片是 EMMC,我们把系统烧写到 EMMC中去,那么,uboot启动它就是使用了 fatload命令。

这里是 存储芯片是 EMMC的开发板。

例如,将 EMMC 分区 1 中的 zImage 文件读取到 DRAM 中的 0X80800000 地址处。
操作如下:
=> fatload mmc 1:1 80800000 zImage 
reading zImage
6785272 read in 148 ms (38.8 MiB / s)

(2)   fatwrite 命令

注意:
uboot 默认没有使能 fatwrite 命令
需要修改板子配置头文件,比如 mx6ullevk.h、 mx6ull_alientek_emmc.h 等等,板子不同,其配置头文件也不同。
找到自己开发板对应的配置头文件然后添加如下一行宏定义来使能 fatwrite 命令:
#define CONFIG_FAT_WRITE /* 使能 fatwrite 命令 */

fatwrite 命令 用于将 DRAM 中的数据写入到 MMC 设备中,命令格式如下:
fatwrite <interface> <dev[:part]> <addr> <filename> <bytes>
interface 为接口,比如 mmc dev 是设备号,
part 是分区,
addr 是要写入的数据在 DRAM 中的起始地址,
filename 是写入的数据文件名字,
bytes 表示要写入多少字节的数据。

   

可以通过 fatwrite 命令在 uboot 中更新 linux 镜像文件和设备树。

举例说明

我们以更新 linux 镜像文件 zImage为例。
(1)  首先,将正点原子 I.MX6U-ALPHA 开发板提供的 zImage 镜像文件拷贝到 Ubuntu 中的
tftpboot 目录下, zImage 镜像文件存放目录:
拷贝完成以后,使用命令 tftp zImage 下载到 DRAM 0X80800000 地址处。
开发板的 uboot 命令模式下,输入如下命令如下:
=> tftp 80800000 zImage
Using FEC1 device
TFTP from server 192.168.1.66; our IP address is 192.168.1.50
Filename 'zImage'.
Load address: 0x80800000
Loading: #################################################################
	 ##
	 2.4 MiB/s
done
Bytes transferred = 983040 (f0000 hex)
=> 

(2)  接下来使用命令 fatwrite 将其写入到 EMMC 分区 1 中,文件名字为 zImage

注意:由于开发板系统在不断的更新中,因此,zImage 大小不是固定的,一切以实际大小为准。

操作如下:

fatwrite mmc 1:1 80800000 zImage 6788f8
writing zImage
6788f8 bytes written

完成以后使用 “ fatls ” 命令查看一下 EMMC 分区 1 里面的文件, 结果如下:
=> fatls mmc 1:1
  6785272   zimage
    38859   imx6ull-14x14-emmc-4.3-480x272-c.dtb
    38859   imx6ull-14x14-emmc-4.3-800x480-c.dtb
    38859   imx6ull-14x14-emmc-7-800x480-c.dtb
    38859   imx6ull-14x14-emmc-7-1024x600-c.dtb
    38859   imx6ull-14x14-emmc-10.1-1280x800-c.dtb
    39691   imx6ull-14x14-emmc-hdmi.dtb
    39599   imc6ull-14x14-emmc-vga.dtb

8 file(s) , 0 dir(s)

=>

猜你喜欢

转载自blog.csdn.net/wojiaxiaohuang2014/article/details/131612075
今日推荐