FC2カウンター FPGAの部屋 Vitis の Native XRT Examples の Hello World XRT をやってみる2
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Vitis の Native XRT Examples の Hello World XRT をやってみる2

Vitis の Native XRT Examples の Hello World XRT をやってみる1”の続き。

前回は、Vitis に Native XRT Examples があることが分かったので、その内の Hello World XRT をやってみることにしたということで、Vitis 2021.1 で helloworld_xrt プロジェクトを作成し、Hello World XRT (XRT Native API's) を選択してプロジェクトを作成した。そして、ビルドを行って成功した。今回は、bin ファイルを作成し、dtbo ファイルを作成して、ファイルを KV260 に転送し、動作させみたところ成功した。

system.bit から helloworld_xrt.bit.bin を作成する
system.bit は kv260_custom_platform/kv260_custom_pkg/helloworld_xrt_system/Hardware/package.build/package にある。
cd /media/masaaki/Ubuntu_Disk/KRIA_KV260/2021.1/kv260_custom_platform/kv260_custom_pkg/helloworld_xrt_system/Hardware/package.build/package
echo 'all:{system.bit}'>bootgen.bif
bootgen -w -arch zynqmp -process_bitstream bin -image bootgen.bif
mv system.bit.bin helloworld_xrt.bit.bin

xrt_apli_74_220503.png
xrt_apli_75_220503.png

helloworld_xrt.dtbo ファイルを用意する
pl.dtsi ファイルを編集して、pl.dtbo ファイルを再度作成する。
pl.dtsi ファイルは kv260_custom_platform/device-tree-xlnx ディレクトリにある。
pl.dtsi を開いて 16 行目の kv260_custom_platform.bit.bin を helloworld_xrt.bit.bin に変更する。
xrt_apli_76_220503.png

pl.dtsi を再度コンパイルして、pl.dtbo を作成し、名前を helloworld_xrt.dtbo に変更した
cd /media/masaaki/Ubuntu_Disk/KRIA_KV260/2021.1/kv260_custom_platform/device-tree-xlnx
dtc -@ -O dtb -o pl.dtbo pl.dtsi
mv pl.dtbo helloworld_xrt.dtbo

xrt_apli_77_220503.png

KV260 を起動して、helloworld_xrt ディレクトリを作成する
KV260 の Petalinux を起動して、helloworld_xrt ディレクトリを作成した。
ssh 192.168.24 -X -l petalinux
mkdir helloworld_xrt
cd helloworld_xrt

xrt_apli_78_220504.png

KV260 にファイルを転送する
以下のファイルをPYNQ を実行していた KV260 の ubuntu の /helloworld_xrt ディレクトリに FileZilla で転送した。

kv260_custom_platform/device-tree-xlnx/helloworld_xrt.dtbo
kv260_custom_platform/kv260_custom_pkg/helloworld_xrt_system/Hardware/package.build/package/helloworld_xrt.bit.bin
kv260_custom_platform/kv260_custom_pkg/pfm/shell.json
kv260_custom_platform/kv260_custom_pkg/helloworld_xrt/Hardware/helloworld_xrt
kv260_custom_platform/kv260_custom_pkg/helloworld_xrt_system/Hardware/vadd.xclbin


xrt_apli_79_220504.png

ハードウェアのロード
/lib/firmware/xilinx/helloworld_xrt を作成し、helloworld_xrt.dtbo helloworld_xrt.bit.bin shell.json を /lib/firmware/xilinx/helloworld_xrt に転送する。
sudo mkdir /lib/firmware/xilinx/helloworld_xrt
sudo mv helloworld_xrt.dtbo helloworld_xrt.bit.bin shell.json /lib/firmware/xilinx/helloworld_xrt
ls -l /lib/firmware/xilinx/helloworld_xrt

xrt_apli_80_220504.png

すでにロードされているハードウェアをアンロードして、helloworld_xrt をロードする。
sudo xmutil listapps
sudo xmutil unloadapp
sudo xmutil loadapp helloworld_xrt

xrt_apli_81_220504.png

helloworld_xrt を走らせる
./helloworld_xrt -x vadd.xclbin
xrt_apli_82_220504.png

TEST PASSED が表示されて成功した。
  1. 2022年05月05日 03:46 |
  2. Vitis
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/5579-c5b99172
この記事にトラックバックする(FC2ブログユーザー)