手順 2: ソフトウェア コンポーネントの作成¶
2021.1 Vitis™ プラットフォーム作成チュートリアルxilinx.com の Vitis™ 開発環境を参照 |
KV260 と ZCU104 のようなザイリンクス評価ボード用のベース プラットフォームのブート フローは違うので、プラットフォーム開発者は Vitis プラットフォーム用の通常のソフトウェア コンポーネントのほかにもう 1つ追加で DTBO ファイルを準備する必要があります。これは、アプリケーション開発者がこの DTBO ファイルをアプリケーション運用パッケージに追加する必要があるからです。その他のソフトウェア コンポーネントの生成フローは、ZCU104 チュートリアルで説明したフローと類似しています。KV260 には BSP が含まれるので、PetaLinux BSP を使用して Linux カーネル、ルート ファイル システム、およびブート コンポーネントを生成したり、BSP に基づいてさらにカスタマイズができます。
手順 2: PetaLinux でのソフトウェア コンポーネントの作成¶
KV260 には既成のブート イメージが提供され、改良されたブート シーケンスが含まれています。このイメージはすぐに起動できるため、Vitis プラットフォームの開発者が Linux の起動に必要なソフトウェア コンポーネントの準備手順を省略できるようになっています。
KV260 スターター キット BSP からの通常のソフトウェア コンポーネントの生成¶
Kria K26 SOM Wiki を確認してください。[PetaLinux Board Support Package] セクションにあるツールのバージョンに一致するStarter Kit SOM BSP をダウンロードします。
たとえば、https://www.xilinx.com/member/forms/download/xef.html?filename=xilinx-k26-starterkit-v2021.1-final.bsp をダウンロードします。
作業ディレクトリに保存します。
PetaLinux 環境を設定します。
source<petaLinux_tool_install_dir>/settings.sh
PetaLinux SDK を更新して、Starter Kit SOM BSP に必要なレシピをイネーブルにします。
petalinux-upgrade -u 'http://petalinux.xilinx.com/sswreleases/rel-v2021/sdkupdate/2021.1_update1/' -p 'aarch64'
Starter Kit SOM BSP と手順 1 からの XSA エクスポートを使用して、PetaLinux を作成します。
petalinux-create --type project -s xilinx-k26-starterkit-v2021.1-final.bsp cd xilinx-k26-starterkit-v2021.1 petalinux-config --get-hw-description=<vivado_design_dir> --silent
rootfs に XRT を追加します。
KV260 PetaLinux BSP はオーバーレイ付き XRT をインストールするため、XRT はイネーブルにしません。アプリケーション開発者のクロスコンパイル用に sysroot を作成するには、rootfs で XRT をイネーブルにします。
petalinux-config -c rootfs
を実行して、rootfs コンフィギュレーション ウィンドウを起動します。[Filesystem packages] → [libs] → [xrt] をクリックします。
xrt
をオンにします。[Exit] を押してコンフィギュレーションを終了します。[Save] を押してコンフィギュレーションを保存します。
PetaLinux をビルドし、SDK を生成します。
petalinux-build petalinux-build --sdk
PetaLinux イメージ ファイルと sysroot sdk.sh が /images/linux ディレクトリに生成されます。
これらは、次の手順で使用します。
デバイス ツリー オーバーレイの生成¶
KV260 は Linux の起動後に PL を読み込むので、プラットフォームの PL IP 情報をデバイス ツリー オーバーレイとしてダイナミックにロードする必要があります。したがって、KV260 アクセラレーション プラットフォーム ソフトウェアには、プラットフォーム PL IP のデバイス ツリー オーバーレイを生成するという要件もあります。このデバイス ツリー オーバーレイには、次の 2 つの目的があります。
XRT ドライバーを正しくロードされるようにするには、ZOCL ノードが必要です
手順 1 で設計したプラットフォーム ロジックには、PL IP のどのコンフィギュレーションでも含めることができます。
アプリケーション内の PL のデバイス ツリー情報は、Linux が PL ビットストリームと一緒に起動されてからロードされます。Linux では、デバイス ツリー オーバーレイ (DTBO) をロードおよびアンロードできます。DTBO の詳細は、https://lkml.org/lkml/2012/11/5/615 を参照してください。
ザイリンクスでは、Vivado からエクスポートされた XSA ファイルからデバイス ツリーを生成する Device Tree Generator (DTG) を提供しています。DTG では、生成する情報が設定可能です。要件に合わせて、次の 2 つのオプションを使用します。
CONFIG.dt_zocl
: XRT の ZOCL デバイス ツリー ノードを生成します。CONFIG.dt_overlay
: DTBO 生成用の dtsi にオーバーレイ プロパティを追加します。
次の手順を実行して、XSA から DTBO を生成します。
DTG のインストール
git clone https://github.com/Xilinx/device-tree-xlnx cd device-tree-xlnx git checkout xlnx_rel_v2021.1
XSCT を使用して XSA から DTS を生成します。
XSCT の起動
xsct
XSCT HSI コマンドを使用して、XSA を読み込んで、DTS を生成します。
hsi open_hw_design <design_name.xsa> hsi set_repo_path <path to device-tree-xlnx repository> hsi create_sw_design device-tree -os device_tree -proc psu_cortexa53_0 hsi set_property CONFIG.dt_overlay true [hsi::get_os] hsi set_property CONFIG.dt_zocl true [hsi::get_os] hsi generate_target -dir <desired_dts_filename> hsi close_hw_design [hsi current_hw_design]
hsi コマンドは gen_dt.tcl ファイルに保存して、
xsct gen_dt.tcl
で実行できます。XSCT コンソールでこれらのコマンドを直接入力した場合、生成が完了した後に XSCT コンソールを閉じることができます。dtsi を dtbo にコンパイル
PetaLinux 環境のシェルで、次のコマンドを実行します。
dtc -@ -O dtb -o pl.dtbo pl.dtsi
次の手順¶
注記: ハードウェア プラットフォームとソフトウェア プラットフォームがすべて生成されます。次に、Vitis プラットフォームをパッケージします。
Copyright© 2021 Xilinx