IMX6ULL移植 - FAT形式ファイルシステム操作コマンド2

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の開発ボードです。

たとえば、 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デバイス番号、
部分 はパーティションです、
addr は DRAM に書き込まれるデータの開始アドレスです
filename は書き込まれるデータ ファイルの名前です。
bytes は 書き込むデータのバイト数を示します。

   

fatwriteコマンドを使用して、ubootのLinuxイメージ ファイルとデバイス ツリーを更新できます

例えば

例としてLinux イメージ ファイル zImage を更新してみましょう。
(1)  まず、 punctual atom I.MX6U-ALPHA開発 ボードによって 提供される zImage イメージ ファイルを
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