本文承接上一篇 FAT格式文件操作命令的学习,如下:
IMX6ULL移植篇-FAT 格式文件系统操作命令一_凌肖战的博客-CSDN博客
IMX6ULL的 zImage(即内核) 与 设备树(.dtb)文件在 EMMC或 SD卡中都是以 FAT格式存在的。
这里所用的 阿尔法开发板的存储芯片是 NAND-FLash,而非 EMMC。
所以,本文对 SD卡进行操作来学习 FAT格式文件操作命令。主要有如下两个操作命令;
fatload 命令用于将指定的文件读取到 DRAM 中,命令格式如下:
fatload [ [ [ [bytes [pos]]]]]
interface 为接口,比如 mmc,dev 是设备号,part 是分区,
addr 是保存在 DRAM 中的起始地址,
filename 是要读取的文件名字。
bytes 表示读取多少字节的数据,如果 bytes 为 0 或者省 略的话表示读取整个文件。
pos 是要读的文件相对于文件首地址的偏移,如果为 0 或者省略的 话表示从文件首地址开始取。
如果开发板上的存储芯片是 EMMC,我们把系统烧写到 EMMC中去,那么,uboot启动它就是使用了 fatload命令。
这里是 存储芯片是 EMMC的开发板。
=> fatload mmc 1:1 80800000 zImage
reading zImage
6785272 read in 148 ms (38.8 MiB / s)
#define CONFIG_FAT_WRITE /* 使能 fatwrite 命令 */
fatwrite
举例说明
=> 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。
操作如下:
fatwrite mmc 1:1 80800000 zImage 6788f8
writing zImage
6788f8 bytes written
=> 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)
=>