Zynq® UltraScale+™ MPSoC PetaLinux®でQSPI起動データの作成(後編)~書き込み方法~

皆さん、こんにちは。
前編では、AMD ザイリンクス社のZynq® UltraScale+™ MPSoC のPetaLinuxをBOOT用QSPIデータの作成方法を紹介しました。
今回はu-bootを利用してQSPIデータの書き込み方法を紹介したいと思います。
前提条件
Zynq® UltraScale+™ MPSoCのPetaLinuxをBOOT用QSPIデータ作成し、SD bootカードに保存
このブログは「FPGA設計ブログ一覧」の
5. プログラミング(FPGAへの書き込み)の
ひとつです。
目次
u-bootの起動
Tera Termを起動し、ボードをSDカードから起動します。
Hit any key to stop autoboot: が出ましたら、Enterキーを押します。u-bootのコンソールが表示されます。
出典:Xilinx PetaLinux
QSPIデバイスの確認
u-bootコンソールにsf probeを入力し、QSPIデバイスを確認します。この場合はn25q256aが認識されていることが分かります。
出典:Xilinx PetaLinux
SD-CARDにあるQSPI書き込みデータの確認
u-bootコンソールにfatls mmc 0:1を入力し、SD CARDのファイルを確認します。
出典:Xilinx PetaLinux
BOOT_QSPI.BINがリストされ、ファイルサイズは65538008 Byteです。
65538008のHEX値は0x3e807d8になるので、このHEX値はQSPI書き込み時に必要です。
BOOT_QSPI.BINをDDRに展開
u-bootコンソールからコマンドfatload mmc 0:1 0x2000000 BOOT_QSPI.BINでBOOT_QSPI.BINをDDRの0x2000000番地から展開します。
出典:Xilinx PetaLinux
QSPIへ書き込み
DDRに展開されたBOOT_QSPI.BINをQSPIに書き込みしていきます。
u-bootコンソールからコマンドsf write 0x2000000 0x0 0x3E807D8でDDRの0x2000000に展開されたBOOT_QSPI.BINをQSPIの0x0番地からサイズ=0x3E807D8のデータを書き込みます。
出典:Xilinx PetaLinux
起動モードの再設定
ボードの電源を落としてから、起動モードをQSPIに設定しなおします。
電源を再投入すれば、基板が以下のようにQSPIから起動します。
出典:Xilinx PetaLinux
おわりに
いかがでしたでしょうか?
これで、PetalinuxでQSPI用BOOTデータの書き込みができました。
最後までご覧いただきありがとうございました。
このブログは「FPGA設計ブログ一覧」の
5. プログラミング(FPGAへの書き込み)の
ひとつです。