FC2カウンター FPGAの部屋 ZynqMP-FPGA-Linux で Vitis 2020.1 でビルドした vadd を動作させる5(libcrypt.so.2 のコピーと vadd の実行)
FC2ブログ

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

FPGAの部屋

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

ZynqMP-FPGA-Linux で Vitis 2020.1 でビルドした vadd を動作させる5(libcrypt.so.2 のコピーと vadd の実行)

ZynqMP-FPGA-Linux で Vitis 2020.1 でビルドした vadd を動作させる4(vadd の実行)”の続き。

前回は、Vitis 2020.1 で生成した vadd と binary_container_1.xclbin を Ultra96-V2 の ikwzm さんの ZynqMP-FPGA-Linux で実行してみたが、 libcrypt.so.2 が無いと言われて動作しなかった。今回は、libcrypt.so.2 を見つけたので、 Ultra96-V2 の Debian 上にコピーしてから、 vadd と binary_container_1.xclbin を実行したところ成功した。

もしかしたら、Vitis 2020.1 で Ultra96-V2 のアクセラレーション・プラットフォームを作った時の sysroot に libcrypt.so.2 が無いかな?ということで、 ultra96v2_min2_201/images/linux/pkg/pfm/sysroots/aarch64-xilinx-linux を検索したところ、 user/lib にあった。
ZynqMP-FPGA-Linux201_47_200708.png

これを SFTP で Ultra96-V2 の Debian 上にコピーする。なお、直接 /usr/lib にコピーできなかったのでホーム・ディレクトリにコピーした。
ZynqMP-FPGA-Linux201_45_200708.png

Ultra96-V2 の Debian の /usr/lib にコピーした。コピー・コマンドについては後述する。
ZynqMP-FPGA-Linux201_48_200709.png

コマンドを実行する。
sudo cp libcrypt.so.2 /usr/lib
rm libcrypt.so.2
source /opt/xilinx/xrt/setup.sh
cd Vitis_work/vadd201/
sudo ./dtbocfg.rb --install zocl --dts zocl.dts
sudo chmod 666 /dev/dri/renderD128
./vadd binary_container_1.xclbin

成功だ。 TEST PASSED が表示されている。
ZynqMP-FPGA-Linux201_46_200708.png

これで、 ultra96v2_min2_201 の Vitis 2020.1 アクセラレーション・アプリケーション・プラットフォームを使用して作成したアクセラレーション・アプリケーションが動作することが確認できた。。。
ただし、作成した PetaLinux がまだ起動しないが、アクセラレーション・アプリケーションが動けば良いということにしようかな?

zocl などをロードした時のログを示す。

[  312.988519] fpga_manager fpga0: writing vadd.bit to Xilinx ZynqMP FPGA Manager
[  316.935028] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name
[  316.974780] fclkcfg: loading out-of-tree module taints kernel.
[  316.982817] fclkcfg amba_pl@0:fclk0: driver installed.
[  316.988018] fclkcfg amba_pl@0:fclk0: device name    : amba_pl@0:fclk0
[  316.990604] [drm] Probing for xlnx,zocl
[  316.994490] fclkcfg amba_pl@0:fclk0: clock  name    : pl0_ref
[  316.998318] zocl-drm amba_pl@0:zyxclmm_drm: IRQ index 0 not found
[  317.004039] fclkcfg amba_pl@0:fclk0: clock  rate    : 99999999
[  317.010217] [drm] PR Isolation addr 0x0
[  317.015977] fclkcfg amba_pl@0:fclk0: clock  enabled : 1
[  317.016791] [drm] Initialized zocl 2018.2.1 20180313 for amba_pl@0:zyxclmm_drm on minor 1
[  317.019815] fclkcfg amba_pl@0:fclk0: remove rate    : 1000000
[  317.038936] fclkcfg amba_pl@0:fclk0: remove enable  : 0


アクセラレーション・アプリケーション vadd 実行時のログを示す。

[  363.816677] [drm] Pid 646 opened device
[  363.820621] [drm] Pid 646 closed device
[  363.825041] [drm] Pid 646 opened device
[  363.829060] [drm] Pid 646 closed device
[  363.833279] [drm] Pid 646 opened device
[  363.837151] [drm] Pid 646 closed device
[  363.841011] [drm] Pid 646 opened device
[  363.844861] [drm] Pid 646 closed device
[  363.848773] [drm] Pid 646 opened device
[  364.105518] [drm] Finding IP_LAYOUT section header
[  364.105522] [drm] Section IP_LAYOUT details:
[  364.110348] [drm]   offset = 0x54fcf8
[  364.114622] [drm]   size = 0x58
[  364.118291] [drm] Finding DEBUG_IP_LAYOUT section header
[  364.121423] [drm] AXLF section DEBUG_IP_LAYOUT header not found
[  364.126735] [drm] Finding CONNECTIVITY section header
[  364.132644] [drm] Section CONNECTIVITY details:
[  364.137687] [drm]   offset = 0x54fd50
[  364.142210] [drm]   size = 0x28
[  364.145873] [drm] Finding MEM_TOPOLOGY section header
[  364.149011] [drm] Section MEM_TOPOLOGY details:
[  364.154062] [drm]   offset = 0x54fc00
[  364.158590] [drm]   size = 0xf8
[  364.162291] [drm] Download new XCLBIN 94A81AE6-CD68-48BE-A851-24FB31E58964 done.
[  364.166616] [drm] -> Hold xclbin 94A81AE6-CD68-48BE-A851-24FB31E58964, from ref=0
[  364.174014] [drm] <- Hold xclbin 94A81AE6-CD68-48BE-A851-24FB31E58964, to ref=1
[  364.181519] [drm] No ERT scheduler on MPSoC, using KDS
[  364.193982] [drm] request_irq failed on CU 0 error: -22.Fall back to polling mode.
[  364.201552] [drm] scheduler config ert(0)
[  364.201554] [drm]   cus(1)
[  364.205556] [drm]   slots(16)
[  364.208248] [drm]   num_cu_masks(1)
[  364.211208] [drm]   cu_shift(16)
[  364.214696] [drm]   cu_base(0xa0000000)
[  364.217917] [drm]   polling(1)
[  364.221790] [drm] -> Release xclbin 94A81AE6-CD68-48BE-A851-24FB31E58964, from ref=1
[  364.224847] [drm] now xclbin can be changed
[  364.232588] [drm] <- Release xclbin 94A81AE6-CD68-48BE-A851-24FB31E58964, to ref=0
[  364.237036] [drm] -> Hold xclbin 94A81AE6-CD68-48BE-A851-24FB31E58964, from ref=0
[  364.244608] [drm] <- Hold xclbin 94A81AE6-CD68-48BE-A851-24FB31E58964, to ref=1
[  364.259443] [drm] -> Release xclbin 94A81AE6-CD68-48BE-A851-24FB31E58964, from ref=1
[  364.266778] [drm] now xclbin can be changed
[  364.274525] [drm] <- Release xclbin 94A81AE6-CD68-48BE-A851-24FB31E58964, to ref=0
[  364.283690] [drm] Pid 646 closed device

  1. 2020年07月09日 04:41 |
  2. Vitis
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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