SPI NOR をフラッシュし、Uboot から SPI NOR - Microzed Zynq から読み戻す方法は?

SPI NOR をフラッシュし、Uboot から SPI NOR - Microzed Zynq から読み戻す方法は?

mmc カードからカーネル イメージを読み取り、SPI Nor フラッシュにフラッシュしようとしています。カーネル イメージは uImage のみです。

そこで、MMC カードからカーネル イメージを読み取り、それをメモリ アドレス 0x8000 に配置しました。

Zynq> fatload mmc 0 0x8000 $kernel_image

走ってみるとわかります

md 0x8000.

ここで、このデータを RAM から QSPI フラッシュにコピーします。

私は次のことを行いました。

sf update 0x8000 0 ${kernel_size}

今、0x8000から内容を読み取り、オフセットアドレス0x0にSPIフラッシュを配置したと思います。

今、私は別のRAMアドレス0x3000000のフラッシュから読み戻しています

>sf read 0x3000000 0 ${kernel_size}

同様に、デバイス ツリー イメージを RAM にロードしています。

#fatload mmc 0 0x8000 ${devicetree_image}

今、読み返してみます。

#md 0x8000 ${devicetree_image}

現在、デバイス ツリーをフラッシュに書き込んでいます。

#sf update 0x8000 0x700000 ${devicetree_size}
#sf read 0x2A00000 0x700000 ${devicetree_size}

今、RAM 上のデバイス ツリーを確認しています。

md 0x2A00000 ${devicetree_size}

今、私は新しく読み取ったRAMアドレスから起動しています -

bootm 0x3000000 - 0x2A00000

Zynq> bootm 0x3000000 - 0x2A00000
Wrong Image Format for bootm command
ERROR: can't get kernel image!

ここで何を間違えているのでしょうか?

Zynq> iminfo 0x3000000

## Checking Image at 03000000 ...
Unknown image format!


Zynq> iminfo 0x8000

## Checking Image at 00008000 ...
   FIT image found
Bad FIT image format!

デバイス ツリーを書き込んだ後、0x3000000 には何もないことがわかります。ここで何が欠けているのでしょうか?

関連情報