FC2カウンター FPGAの部屋 kv260_median_platform のメディアン・フィルタを KV260 の Petalinux から動作させる17
fc2ブログ

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

FPGAの部屋

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

kv260_median_platform のメディアン・フィルタを KV260 の Petalinux から動作させる17

kv260_median_platform のメディアン・フィルタを KV260 の Petalinux から動作させる16”の続き。

前回は、異常終了する原因を探ってみた。file コマンドで vadd を見たところ、x86 バイナリだったので、これが原因だった。今回は、再度、Vitis 2022.1 で vadd アクセラレーション・アプリケーション・プロジェクトを削除して、再度 vadd を作り直したところ、ARM aarch64 バイナリになった。vadd.bit.bin を作成し、vadd.bit.bin, vadd, binary_container_1.xclbin を KV260 の Petalinux に転送して、vadd を動作せたところ、”/lib/libc.so.6: version `GLIBC_2.34' not found (required by ./vadd)”エラーになってしまった。

Vitis 2022.1 で vadd_system を Explorer から完全削除して、もう一度 vadd を作り直した。
Active build configuration を Hardware に変更した。
Explorer の vadd_system を選択し、トンカチボタンをクリックしてビルドし、成功した。
KV260_custom_platform_94_220930.png

kv260_median_platform/kv260_median_pkg/vadd/Hardware/vadd を file コマンドで確認したところ、ARM aarch64 バイナリだった。前回は、何をミスってしまったのだろうか?
KV260_custom_platform_92_220928.png

vadd: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=ac4ef1c5805207baa9ef89b464a93f96451e85d9, for GNU/Linux 3.14.0, with debug_info, not stripped



これで、正常と思われる vadd が生成できたので、関連するファイルを生成し、KV260 の Petalinux に転送する。

system.bit から vadd.bit.bin を作成した。
cd /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/vadd_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 vadd.bit.bin


KV260 にファイルを転送した。
以下のファイルをPYNQ を実行していた KV260 の ubuntu のホーム・ディレクトリに FileZilla で転送した。

kv260_median_platform/kv260_median_pkg/vadd_system/Hardware/package.build/package/vadd.bit.bin
kv260_median_platform/kv260_median_pkg/vadd/Hardware/vadd
kv260_median_platform/kv260_median_pkg/vadd_system/Hardware/binary_container_1.xclbin



ここからは KV260 の Petalinux での作業となる。

vadd.bit.bin を /lib/firmware/xilinx/vadd に転送した。
sudo mv vadd.bit.bin /lib/firmware/xilinx/vadd

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


vadd を走らせたがエラーになってしまった。
./vadd binary_container_1.xclbin
KV260_custom_platform_95_220930.png

エラーは以下の内容だった。

./vadd: /lib/libc.so.6: version `GLIBC_2.34' not found (required by ./vadd)


Petalinux が 2021.1 用だったのがまずかったのかも知れないので、2022.1 の Petalinux を次回作成することにする。
  1. 2022年09月30日 05:05 |
  2. Vitis
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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