![]() 2021.1 Vitis™ プラットフォーム作成チュートリアルxilinx.com の Vitis™ 開発環境を参照 |
手順 4: プラットフォームのテスト¶
テスト 1: プラットフォーム情報の読み込み¶
Vitis 環境設定では、platforminfo ツールで XPFM プラットフォーム情報をレポートできます。
詳細なログ
# in kv260_custom_pkg directory platforminfo ./kv260_custom/export/kv260_custom/kv260_custom.xpfm ========================== Basic Platform Information ========================== Platform: kv260_custom_platform File: <your path to>/kv260_custom_platform.xpfm Description: A custom platform KV260 platform ===================================== Hardware Platform (Shell) Information ===================================== Vendor: xilinx Board: KV260_Custom_Platform Name: KV260_Custom_Platform Version: 0.0 Generated Version: 2021.1 Hardware: 1 Software Emulation: 1 Hardware Emulation: 1 Hardware Emulation Platform: 0 FPGA Family: zynquplus FPGA Device: xck26 Board Vendor: xilinx.com Board Name: xilinx.com:kv260:1.1 Board Part: XCK26-SFVC784-2LV-C ================= Clock Information ================= Default Clock Index: 2 Clock Index: 1 Frequency: 100.000000 Clock Index: 2 Frequency: 200.000000 Clock Index: 3 Frequency: 400.000000 ================== Memory Information ================== Bus SP Tag: HP0 Bus SP Tag: HP1 Bus SP Tag: HP2 Bus SP Tag: HP3 Bus SP Tag: HPC0 Bus SP Tag: HPC1 ============================= Software Platform Information ============================= Number of Runtimes: 1 Default System Configuration: kv260_custom_platform System Configurations: System Config Name: kv260_custom_platform System Config Description: kv260_custom_platform System Config Default Processor Group: xrt System Config Default Boot Image: standard System Config Is QEMU Supported: 1 System Config Processor Groups: Processor Group Name: xrt Processor Group CPU Type: cortex-a53 Processor Group OS Name: linux System Config Boot Images: Boot Image Name: standard Boot Image Type: Boot Image BIF: kv260_custom_platform/boot/linux.bif Boot Image Data: kv260_custom_platform/xrt/image Boot Image Boot Mode: sd Boot Image RootFileSystem: Boot Image Mount Path: /mnt Boot Image Read Me: kv260_custom_platform/boot/generic.readme Boot Image QEMU Args: kv260_custom_platform/qemu/pmu_args.txt:kv260_custom_platform/qemu/qemu_args.txt Boot Image QEMU Boot: Boot Image QEMU Dev Tree: Supported Runtimes: Runtime: OpenCLクロック情報とメモリ情報が正しく設定されていることを確認できます。
テスト 2: Vector Addition アプリケーション¶
ベクター加算は、最も単純なアクセラレーション PL カーネルです。Vitis では、このアプリケーションを自動的に作成できます。このテストを実行すると、プラットフォームの AXI 制御バス、メモリ インターフェイス、および割り込み設定が正しく機能しているかどうかを確認できます。
Vector Addition アプリケーションの作成
以前使用していた Vitis ワークスペースを開きます。
[File] → [New] → [Application Project] をクリックします。
[Next] をクリック
プラットフォームとして kv260_custom を選択し、[Next] をクリックします。
プロジェクトの名前を vadd に設定し、[Next] をクリックします。
ドメインを linux on psu_cortexa53 に設定し、[Sysroot path] を
<full_pathname_to_kv260_custom_pkg>/pfm/sysroots/aarch64-xilinx-linux(sdk.sh を実行して作成) に設定します。[Root FS] を rootfs.ext4 に、[Kernel Image] を [Image] に設定します。これらのファイルは、手順 2 で生成されたkv260_custom_plnx/imagesディレクトリにあります。[Next] をクリックします。[System Optimization Examples] → [Vector Addition] をクリックし、[Finish] をクリックしてアプリケーションを生成します。
[Explorer] ビューで vadd.prj ファイルをダブルクリックして開き、[Active build configuration] を [Emulation-SW] から [Hardware] に変更します。
[Explorer] ビューで vadd_system を選択し、ツールバーの [Build] ボタンをクリックします。
注記: 作成した kv260_custom プラットフォームが表示されない場合は、[New Application Project] ウィザードで [Add] ボタンをクリックしてプラットフォーム リストに追加し、kv260_custom_pkg/kv260_custom ディレクトリを指定します。
注記: このアプリケーションをエミュレーション モードでテストする場合は、手順 8 で [Active build configuration] を [Emulation-SW] から [Emulation-HW] に変更します。
ボードに転送するファイルを準備します。
Kria SOM は
xmutilを使用してアプリケーションをダイナミックにロードします。ロード プロセスには、PL ビットストリームのダウンロードとデバイス ツリー オーバーレイのロードが含まれます。xmutilを実行するには、アプリケーション ファイルが/lib/firmware/xilinxディレクトリに保存されている必要があります。このアプリケーションに関連するファイルには、同じファイル名を使用する必要がありますが、拡張子は異なっている必要があります。これはベクター加算アプリケーションなので、この例では vadd と呼びます。ボードの最終的なディレクトリは次のようになります。
# On target board ls /lib/firmware/xilinx/vadd vadd.dtbo vadd.bit.bin shell.jsonfpgamanager がロードできるように、ビットストリームは bin 形式である必要があります。次のコマンドを使用して、
.bitファイルを.bit.binファイルに変換します。cd vadd_system/Package echo 'all:{system.bit}'>bootgen.bif bootgen -w -arch zynqmp -process_bitstream bin -image bootgen.bif mv system.bit.bin vadd.bit.bin
DTBO のソースは、手順 2 で生成されます。dtbo を生成して名前を変更するには、ファイル名がアプリケーション名に合うように、少しアップデートが必要です。
step2_petalinux/dt_output/pl.dtsiを開きます。firmware-name =の行をアップデートします。xmutil がビットストリームをロードできるように値にvadd.bit.binと入力します (firmware-name = "vadd.bit.bin";)。dtc -@ -O dtb -o step4_validate/vadd.dtbo step2_petalinux/dt_output/pl.dtsiコマンドを使用してpl.dtsiを dtbo にコンパイルします。
shell.json を準備します。これは、ほかのアプリケーションからコピーしたり、次のコンテンツを使用して作成したりできます。
{ "shell_type" : "XRT_FLAT", "num_slots": "1" }
ボードにファイルを転送します。
SOM Starter Kit のイーサネット ケーブルが接続されていることを確認します。SCP または SFTP を使用して、ホストからターゲット ボードにファイルをアップロードします。
# Running on host machine scp vadd.dtbo vadd.bit.bin shell.json vadd binary_container_1.xclbin petalinux@<SOM Starter Kit IP>:/home/petalinuxハードウェアをロードします。
# Running on target board mkdir /lib/firmware/xilinx/vadd cd /home/petalinux mv vadd.dtbo vadd.bit.bin shell.json /lib/firmware/xilinx/vadd sudo xmutil listapps sudo xmutil unloadapp sudo xmutil loadapp vadd
ボード上での Vector Addition アプリケーションの実行
vadd アプリケーションを実行します
./vadd binary_container_1.xclbin
プログラムの結果が表示されます。
xilinx-k26-starterkit-2021_1:~$ ./vadd binary_container_1.xclbin INFO: Reading binary_container_1.xclbin Loading: 'binary_container_1.xclbin' TEST PASSED
ファースト トラック¶
このチュートリアルでカスタム プラットフォームと検証アプリケーションを作成するときに問題が発生した場合は、ref_files ディレクトリで make all を実行して、リファレンス デザインを生成すると、ご自身のデザインと比較できます。
コマンド ライン フローは、Vitis IDE フローと比較すると、わずかに違います。
ベクター加算アプリケーションは、Vitis IDE フローでは
vaddおよびbinary_container_1.xclbinと呼ばれます。コマンド ライン フローで生成されたファイルは、simple_vaddおよびkrnl_vadd.xclbinと呼ばれます。
Copyright© 2021 Xilinx
