FC2カウンター FPGAの部屋 ZynqMP-FPGA-Linux で Vitis 2020.1 でビルドした vadd を動作させる4(vadd の実行)
FC2ブログ

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

FPGAの部屋

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

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

ZynqMP-FPGA-Linux で Vitis 2020.1 でビルドした vadd を動作させる3(XRT インストール、Vitis サンプル・デザインの実行)”の続き。

前回は、ikwzm さんの ZynqMP-FPGA-Linux を使ってみることにしたということで、作成した MicroSD カードをUltra96-V2 に挿入して起動し、XRT をインストールして、Vitis アクセラレーション・アプリケーションを動作させることができた。今回は、Vitis 2020.1 でビルドした vadd と xclbin ファイルを動作させてみよう。

binary_container_1.xclbin, vadd を生成した時のブログ記事は”Ultra96-V2 の Vitis 2020.1 アクセラレーション・プラットフォームを作る4(Vitis 2020.1 でアプリケーション・プロジェクトを作成)”だった。
この、binary_container_1.xclbin, vadd を SFTP で Ultra96-V2 に送って、 ~/Vitis_work の下に vadd201 ディレクトリを作成した。
cd ~/Vitis_work
mkdir vadd201


binary_container_1.xclbin から vadd.bit を抽出した。
xclbinutil --input binary_container_1.xclbin --dump-section BITSTREAM:RAW:vadd.bit
ls

ZynqMP-FPGA-Linux201_33_200705.png

binary_container_1.bif を作成した。
ZynqMP-FPGA-Linux201_40_200707.png

all:
{
    [destination_device = pl] vadd.bit
}


zocl.dts を作成した。
ZynqMP-FPGA-Linux201_41_200707.png

/dts-v1/; /plugin/;
/ {
    fragment@0 {
        target-path = "/fpga-full";
        __overlay__ {
            firmware-name = "vadd.bit";
        };
        };
    fragment@1 {
        target-path = "/amba_pl@0";
        __overlay__ {
            #address-cells = <2>;
            #size-cells = <2>;
            zyxclmm_drm {
                compatible = "xlnx,zocl";
                status = "okay";
            };
            fclk0 {
                compatible    = "ikwzm,fclkcfg-0.10.a";
                clocks        = <&zynqmp_clk 0x47>;
                insert-rate   = "100000000";
                insert-enable = <1>;
                remove-rate   = "1000000";
                remove-enable = <0>;
            };
        };
    };
};


dtbocfg.rb などをコピーした状態の vadd201 ディレクトリを示す。
ZynqMP-FPGA-Linux201_39_200707.png

前の記事”ZynqMP-FPGA-Linux で Vitis 2020.1 でビルドした vadd を動作させる3(XRT インストール、Vitis サンプル・デザインの実行)”の続きなので、zocl などのドライバを削除する。 vadd.bit を /lib/firmware/ ディレクトリにコピーして、zocl ドライバなどをロードした。
(なお、この記事単独でやる場合には、 XRT のセットアップ source /opt/xilinx/xrt/setup.sh の実行が必要です)
sudo ./dtbocfg.rb --remove zocl
sudo cp vadd.bit /lib/firmware/
sudo ./dtbocfg.rb --install zocl --dts zocl.dts

ZynqMP-FPGA-Linux201_42_200707.png

ドライバ・ロード時のメッセージを見た。
dmesg | tail -15
ZynqMP-FPGA-Linux201_43_200707.png

/dev/dri/renderD128 のパーミッションを 666 に変更して、 vadd を実行した。
sudo chmod 666 /dev/dri/renderD128
./vadd binary_container_1.xclbin

ZynqMP-FPGA-Linux201_44_200707.png

fpga@debian-fpga:~/Vitis_work/vadd201$ ./vadd binary_container_1.xclbin
./vadd: error while loading shared libraries: libcrypt.so.2: cannot open shared object file: No such file or directory


エラー終了してしまったが、そもそも、 vadd.exe が生成される必要があったんじゃないだろうか?
Ultra96-V2 の Vitis 2020.1 アクセラレーション・プラットフォームを作る4(Vitis 2020.1 でアプリケーション・プロジェクトを作成)”で vadd のビルドが緑チェック終了で成功した気になっていたが、実はうまく行ってないんじゃないだろうか?
  1. 2020年07月08日 04:58 |
  2. Vitis
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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