ZCU111開発続き。
Vivadoプロジェクトの立ち上げと、ファームウェア改造後にRFSoC用のアプリケーションを作る手順についてまとめる。
Vivadoインストールはこちらのページを参考にした。Xilinx社のインストール資料はこちら。
※もしXilinx社のアカウントを持っていない場合はアカウント登録してください。
※WebPackではZCU111に使えないので、Vivado HL WebPACKではなくVivado HL Design EditionまたはSystem Editionを選択すること。
この記事でも書いた通り、SDKを使う関係でver.2019.1(Design Edition以上)を使っていく。
主な参考資料
Xilinx Wiki:Petalinux Build Tutorial for ZU+ RFSoC ZCU111 2019.1
ZCU111ボードファイルのインストール
ボードファイルのダウンロードとインストール手順はこのページから。
ファイルをダウンロードしたらVivadoインストールディレクトリのフォルダ(以下)に追加。
<Vivado Install>\2019.1\data\boards\board_files
特にディレクトリ移動などしていなければXilinx>Vivadoディレクトリの中にあるはず。
追加後、VivadoのTclコンソール(Vivado開いて下のところ)で以下のコマンドを実行するとインストールができる。
set_param board.repoPaths <ボードファイルの場所>
インストールできたか確認する場合は以下のコマンドを実行。
get_board_parts *zcu111*
これでVivadoのプロジェクト作成の際にZCU111を選択できるようになる。
Vivadoで新規プロジェクトの立ち上げとGenerate Bitstream
以降NON MTSを使うことを想定して進める。
最初にrdf0476-zcu111-rf-dc-eval-tool-2019-1.zip内の
pl\NONMTS-Design_8x8
を短いパスになるように適当な場所にコピー。
例えばC:\xilinx\test など。
VivadoのTclコンソールに
# cd C:\xilinx\test
# source ./scripts/create_project.tcl
と打ち込んでVivadoプロジェクトを作成。
作成するとページ上部に「Auto......」と書かれた緑色のバーが出るので、実行。
この後「Generate Bitstream」を実行(おそらく最低でも1時間以上かかる)。これで必要なファイルが作られる。
※この時点でVivadoのライセンスが有効なものでないとエラーが出る。必ずライセンス等を確認してからやる(30日間無料のライセンスでもOK)。
Generate Bitstreamが終わったら、File→Export→Export Hardwareをして、incluide Bitstreamにチェックを入れる。
この後、File→Launch SDKをすることでhdfファイルが作成される。
※2回目以降は
C:\Xilinx\test\project\zcu111_rfsoc_trd.sdkの中にあるzcu111_rfsoc_trd_wrapper_hw_platform_(数字) のフォルダを消す
(消さないと新しいファイルが反映されない可能性がある)
RFSoC用のLinux Application作成
このページのBuilding the PetaLinux Projectを参考に、RFSoC用のLinux Applicationを作成する。
まずUbuntuで
source /<petalinux installerのsetting.shがある場所>/setting.sh
を実行。
rdf0476-zcu111-rf-dc-eval-tool-2019-1\apu の中にあるrfsoc_petalinux_bsp.bspをUbuntuの適当なディレクトリへコピー。
その後以下を実行。
petqalinux-create -t project -s rfsoc_petalinux_bsp_bsp
cd rfsoc_petalinux_bsp
Vivado+SDKで作成したhdfファイルをUbuntuの適当なディレクトリにコピー。
petalinux-config --get-hw-description=/<hdfファイルをコピーした場所>
としてpathを指定。すると画面が切り替わるので
・FPGA ManagerをSelect→enable
・その下のSpecify hw directory pathを選んでhdfファイルのある場所を入力
→SaveしてExit
これでpetalinuxのプロジェクト設定が終わるまで待つ。
終わったら
petalinux-build
rfsoc_petalinux_bsp以下にlinux/images というディレクトリがあるはずなのでそこに移動して
./dtc -O dtb -o pl.dtbo -b 0 -@ pl_nonmts.dtsi
を実行。
最後に
.bootgen -image bitstream.bif -arch zynqmp -o zcu111_rfsoc_trd_wrapper.bit.bin -w
を実行するとbitstreamができるので、このbinファイルをsdカードのnonmtsディレクトリ内にコピーしてボードにセット。
参考ページの11と12は、すでにSDカードに入れてあるBOOT.BINとimage.ubを使えばOK。
これでボードの方に反映されるはず。ファームウェアを改造したときはこれを行う。