Arm Cortex-A72 プロセッサ用の次の一般的なクロス コンパイル フローに従って、エンベデッド アプリケーションをコンパイルします。
Versal アーキテクチャ ボード上で実行するホスト アプリケーションのコンパイルとリンクを実行するには、Vitis 2023.2 ツールを使用する必要があります。
前提として、次のセットアップを完了しておく必要があります。
- Vitis 2023.2 ツールをインストールします。Vitis リリースには、VCK190 ベース プラットフォームを含む、すべてのエンベデッド ベース プラットフォームが含まれています。
-
https://japan.xilinx.com/support/download/index.html/content/xilinx/ja/downloadNav/embedded-platforms/2023-2.html から、Vitis エンベデッド プラットフォーム用の共通イメージをダウンロードします。
各共通イメージ パッケージには、Vitis を使用するエンベデッド デザイン開発用の Versal アーキテクチャ ボードで利用可能なビルド済み Linux カーネルとルート ファイル システムが含まれます。
- Versal 共通イメージ パッケージを解凍します。
- Bash シェルで、次のスクリプトを実行します。
/Common Images Dir/xilinx-versal-common-v2023.2/environment-setup-cortexa72-cortexa53-xilinx-linux
このスクリプトによって、
SDKTARGETSYSROOT
およびCXX
変数が設定されます。スクリプトがない場合は、
/Common Images Dir/xilinx-versal-common-v2023.2/sdk.sh
を実行する必要があります。
これで、ホスト アプリケーションのコンパイルおよびリンクの準備ができました。
ホスト アプリケーションのコンパイル
CXX
変数が使用されます。次に、PS アプリケーションのコンパイルに使用されるコマンド例を示します。$CXX -std=c++17 -I${SDKTARGETSYSROOT}/usr/include/xrt/ -g -Wall -c -fmessage-length=0 -o host.o host.cpp
上記のほとんどのコマンド オプションは標準的なもので、g++
コマンドの説明にあります。次に、重要なオプションをリストします。
-
-std=c++17
-
-I${SDKTARGETSYSROOT}/usr/include/xrt/
-
-o host.o host.cpp
ホスト アプリケーションのリンク
CXX
変数が使用されます。次に、PS アプリケーションのリンクに使用されるコマンド例を示します。$CXX -lxrt_coreutil -o host.exe host.o
xrt_coreutil
: XRT API のリンクに必要なライブラリ。
ホスト コードに ADF API が含まれている場合のコンパイルとリンクについては、 『Vitis 統合ソフトウェア プラットフォーム資料: アプリケーション アクセラレーション開発』 (UG1393) の Cortex-A72 プロセッサ用のエンベデッド アプリケーションのコンパイルを参照してください。
v++ --package
コマンドを実行する必要があります。Vitis ツール フローを使用した Versal システムのビルドと実行の詳細は、
『Vitis 統合ソフトウェア プラットフォーム資料: アプリケーション アクセラレーション開発』 (UG1393) のシステムのビルドと実行を参照してください。