今まではJTAG経由でZYBOに書き込みをしていたため、電源を落としたらもう一度PCと接続し書き込みをしなければなりませんでした。今回はZYBOの電源を落としても回路情報などが消えないように、SDカードやQSPIからブートしてみます。
VivadoでBitstreamファイルが作成済みかつ、SDKでアプリケージョンが作成済み(ビルドしてelfファイル生成済み&デバッグで動作確認済)のプロジェクトを用意してください。
elfファイルが生成されているかどうかはSDKのProject Explorerのプロジェクトファイル内のBinariesに.elfファイルがあるかどうかで確認できます。
FSBLを生成してBOOT.binを作成する
FSBLは電源投入後PLやPS、ソフト(SDKで作成したアプリケーション)をコンフィギュレーションするために必要なアプリケーション(elfファイル)です。今まではFSBLや回路情報が含まれたファイル(= BOOT.bin)をUSBケーブルを通してJTAGで書き込んでいました。
ZYBOはJP5を切り替えることでBOOT.binをどこから(SDカード、QSPI、JTAG)読むかを切り替えることができます。
VivadoのFile→Launch SDKからXilinx SDKを起動します。
SDKメニューのFile→New→Application Projectをクリックして新規プロジェクトを作成します。
プロジェクト名を適当に付けて(今回はTESTにした)、Nextをクリックし、TemplatesはZynq FSBLを選択してFinishをクリックします。
プロジェクトが作成できたらメニューのProject→CleanでClean all projectsを選択してOKをクリックしクリーンした後、Project→Build Projectでプロジェクトのビルドを行います。(クリーンはしなくても大丈夫かもしれません)
もともと用意してあったプロジェクトファイル(アプリケーションプロジェクト)を右クリックしてCreate Boot Imageをクリックします。
デフォルトのままでCreate Imageをクリックします。
もともと用意してあったプロジェクトファイルのフォルダ下のbootimageというフォルダにBOOT.binというファイルが追加されます。
SDカードからブートする
先ほど作成したBOOT.binをSDカード(microSD)にコピーしてZYBOに挿して、JP5をSDに切り替えて電源ONすれば、SDカードからブートされ動作します。
QSPIからブートする
JP5をJTAGにしたZYBOをPCに接続し電源を入れます。
Xilinx SDKメニューのXilinx→Program Flashをクリックします。
Image Fileには先ほど作成したBOOT.binを指定します。(特に変更していなければ、Vivadoのプロジェクトフォルダの○○.sdkフォルダのアプリケーションフォルダのbootimage内にあるはずです)
FSBLファイルには先ほど作成したFSBL(elfファイル)を指定します。(特に変更していなければ、Vivadoのプロジェクトフォルダの○○.sdkフォルダのFSBLアプリケーションフォルダのDebug内にあるはずです)
ProgramをクリックするとQSPIへの書き込みが行われます。数十秒から数分かかります。
SDKのConsoleにFlash Operation Successfulと表示されたらQSPIへの書き込みは完了です。
一度ZYBOの電源をOFFしてからJP5をQSPIに切り替えて電源をONすればQSPIからブートされ動作します。
0 件のコメント:
コメントを投稿