UbootでSPI NORをフラッシュし、SPI Nor - Microzed Zynqで再読み込みする方法は?

UbootでSPI NORをフラッシュし、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には何も表示されません。私がここで何を見逃しているのでしょうか?

ベストアンサー1

おすすめ記事