1.FAT形式ファイル
この記事では、次のように、以前の FAT 形式ファイル操作コマンドの学習を続けます。
IMX6ULL 移植 - FAT 形式ファイルシステム操作コマンド 1 - Ling Xiaozhan のブログ - CSDN ブログ
IMX6ULL の zImage (コア) ファイルとデバイス ツリー (.dtb) ファイルは、EMMC または SD カードに FAT 形式で存在します。
ここで使用されている Alpha 開発ボードのメモリ チップは、EMMC ではなく NAND-FLash です。
そこで、この記事ではSDカードを操作してFAT形式のファイル操作コマンドを学びます。操作コマンドは主に以下の2つがあります。
2. 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の開発ボードです。
=> fatload mmc 1:1 80800000 zImage
reading zImage
6785272 read in 148 ms (38.8 MiB / s)
(2) fatwriteコマンド
#define CONFIG_FAT_WRITE /* 使能 fatwrite 命令 */
fatwrite <interface> <dev[:part]> <addr> <filename> <bytes>
例えば
=> 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)
=>