今回は
・Vitisプラットフォーム(Vitis IDE)でultra96向けプラットフォームを作成
・ultra96v2で実際に動作確認する
ところまでやってみたいと思う。
本家サイトのラストの部分まで。
今回のpart4でこの部分ができる。
目次
1.ultra96向けプラットフォームの作成
2.テストアプリケーションの作成
3.ultra96v2のSDカードにコピー
4.wifiを接続後にultra96v2で動作確認
5.次にやりたいこと
1.ultra96向けプラットフォームの作成
# vitis起動 cd /home/[user]/ultra96base/pfm vitis -workspace wksp1
プラッフォフォーム名(今回は[ultra96base])を入力。
XSAファイルから作成するので、[Create from hardware specification (XSA)] => [Next]
・Operating system は Linux
足りないファイルは追加していくので、ビックリマークは赤いままでOK、[Finish]をクリック。
ファイル一覧に
があることを確認。をそれぞれ指定。
インデックスファイルを作っているらしく、時間がかかる。
少し待つとビルドがおわり、コンソールに[Bulid Finished]が表示される。
exportフォルダーにプラットフォームのデータ[ultra96base.xpfm]が作成されてる。
# 確認 $ ls /home/[host-name]/ultra96base/pfm/wksp1/ultra96base/export/ultra96base hw sw ultra96base.xpfm
これでultra96向けのプラットフォームができた。
2.テストアプリケーションの作成
ultra96v2用のファイルを作成してく。プロジェクトネーム(今回は「alternative_xsa」)を適当に入れて[Next]をクリック
プラットフォームを選択できるので、[ultra96base]を選択して、Nextをクリック。
その後、ultra96v2で試す用のExampleファイルを作成。
今回は[Hello World]しかないので、Exampleとして取り込んでダウンロード。
ビルド後、SDcardのハードウェアフォルダ(Debug)の中に必要なファイルが作成される。
# Debugフォルダが出来てるか確認 $ ls Debug _ide alternative_xsa.prj src
3.ultra96v2のSDカードにコピー
ここでVitis IDEの操作は終わり。後はultra96v2のSDカードにコピーしていく。
ultra96v2付属のSDカード
マウントフォルダのパス
・ゲストOS側「/media/sf_mount」
Debugファルダ内のファイルを外付けHDDのマウントファルダ(Volumes/BUFFALO/mount)にコピーする。
それからGUIでultra96v2のSDカードのFAT領域(/Volumes/boot/boot)に移動。
# 外吹けHDDマウントフォルダにbootファルダを作成 $ sudo mkdir /media/sf_mount/boot # マウントフォルダにコピー $ sudo cp -r /home/[host-name]/ultra96base/pfm/wksp1/alternative_xsa/Debug/* /media/sf_mount/boot
コピーした後、GUIでSDカード内に移動。
次に、Petalinuxで作ったrootfs.tar.gzをSDカードのEXTフォルダー(/Volumes/boot/rootfs)に入れる。
その後、GUIでultra96v2のSDカードのEXTフォルダー(/Volumes/boot/rootfs)に移動。
# マウントフォルダにrootfsファルダを作成 $ sudo mkdir /media/sf_mount/rootfs # Petalinuxで作ったrootfs.tar.gzをrootfsファルダにコピー $ sudo cp /home/[host-name]/ultra96base/petalinux/images/linux/rootfs.tar.gz /media/sf_mount/rootfs/ # ホストOS側で解凍してSDカードのEXTフォルダーにコピー $ sudo tar xzvf /Volumes/BUFFALO/mount/rootfs.tar.gz -C /Volumes/boot/rootfs
同じくコピーした後、GUIでSDカード内に移動
4.wifiを接続後にultra96v2で動作確認
ultra96v2で動作確認のため、まずPCとultra96v2を接続
ultra96v2の接続・ログイン記事はこちらを参照
trafalbad.hatenadiary.jp
# sshでログイン $ ssh -l root 192.168.2.1 $ cd /run/media/mmcblk0p1 && export XILINX_XRT=/usr $ cd boot # 動作確認 $ ./alternative_xsa.elf vadd.xclbin >>> Hello World
動作してるのが確認できた!
5.次にやりたいこと
part1~4でultra96v2の動作の全体像のこの領域ができた。
次は
・リアルに論理回路をいじったりするガチなところまで触れる
・PYNQの構築
とかもっとガチのAI部分まで触れてみたい。その前にこの低スペックPCを買い換えなきゃな。
追記:メモ
一回作ったプロジェクトまたは、bspファイルから作成したプロジェクトで、回路デザインのプログラマロジック(PL)回路を変更する際の、変更手順を簡単にまとめ。
プログラマロジックの回路変更手順
2.BitStream生成
3.Export Hardware
4.petalinux-config
5.petalinux-build
6.petalinux-package
参考サイト:回路情報のエクスポート
参考サイト
・How to create Ultra96v2 Linux-based Platform in Xilinx Vitis 2019.2