プラットフォームは Vitis デザインの開始点です。Vitis アプリケーションは、プラットフォーム上にビルドされます。
エンベデッド プラットフォームには、ハードウェア プラットフォームとソフトウェア プラットフォームが含まれます。
ハードウェア プラットフォーム
ハードウェア プラットフォームは、ハードウェア デザインのスタティックな変更されない部分です。Vivado Design Suite からのザイリンクス サポート アーカイブ (XSA) ファイルが含まれます。
ハードウェア プラットフォームは、プラットフォーム ハードウェア セットアップおよびアクセラレーション アプリケーションで使用可能なアクセラレーション リソース (入力および出力インターフェイス、クロック、AXI バス、割り込みなど) を記述します。Vitis により、必要に応じてデータ移動のためのカーネルおよびインフラストラクチャ モジュールが追加されます。アクセラレーション カーネルはプラットフォーム IP とデータを共有できますが、変更することはできません。ハードウェア プラットフォームの設定については、ザイリンクス ランタイムおよびプラットフォームのインストール を参照してください。
ソフトウェア プラットフォーム
ソフトウェア プラットフォームは、アクセラレーション アプリケーションのアクセラレーション カーネルを制御するためにソフトウェアを実行する環境です。固定プラットフォームも拡張可能なプラットフォームも、ソフトウェア プラットフォームを必要とします。ハードウェア プラットフォームをリセットして設定するためのドメイン セットアップとブート コンポーネントのセットアップが含まれます。ソフトウェア プラットフォームには、次のエレメントが含まれます。
- ルート ファイル システム (RFS)
- Linux ファイル システム用のバイナリ、ライブラリ、およびセットアップが含まれます。AMDが提供する共通 rootfs には XRT がインストールされており、アクセラレーション アプリケーションをこの Linux 環境で実行できるようになっています。
- カーネル イメージ
- コンパイル済み Linux カーネル。AMD で提供される共通カーネル イメージには、ほとんどの AMD ペリフェラル ドライバーが含まれます。
- sysroot
- クロス コンパイルに使用されます。ターゲット システムのアプリケーションをコンパイルする際にリンクするライブラリを提供します。
すべてのプリビルドの AMD プラットフォームには、ソフトウェア プラットフォームが含まれます。デフォルトでは、プラットフォーム上でアクセラレーション アプリケーションを実行できるように、ザイリンクス ランタイム (XRT) が有効な Linux ドメインが含まれています。デバイス ツリーはプラットフォームによって異なるので、コンポーネントとしてプラットフォーム内の Linux XRT ドメインと共に提供されています。
プラットフォームのカスタマイズについては、ダウンロード センターの「エンベデッド Vitis プラットフォームの共通イメージ」セクションからソフトウェア プラットフォームをダウンロードできます。共通イメージ パッケージには、次のコンポーネントが含まれます。
- プリビルドの Linux カーネル
- プリビルドのルート ファイル システム
- ブート ファイル (プリビルドの u-boot.elf、boot.scr、bl31.elf など)
- Sysroot を生成する
sdk.sh
スクリプト
プラットフォームに Linux ドメインがある場合は、Linux ドメイン コンポーネントを提供する必要があります。これらのコンポーネントは、PetaLinux、Yocto、またはサードパーティ フレームワークで生成できます。これらのコンポーネントは、その FPGA ファミリのすべての AMD デモ ボードで共有されるので、すべての標準プラットフォームに対して、PetaLinux で生成された共通 Linux コンポーネント イメージが用意されています。
エンベデッド プラットフォームのソース ファイルは、GitHub の Vitis エンベデッド プラットフォーム ソース を参照してください。これらのファイルは、カスタム プラットフォームのソースとして使用できます。プラットフォームのソース ファイルから Linux の共通コンポーネントを再生成するには、make
を実行する前に COMMON_RFS_KRNL_SYSROOT=FALSE
環境変数を設定します。