手順 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 からの通常のソフトウェア コンポーネントの生成

  1. 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 をダウンロードします。

    作業ディレクトリに保存します。

  2. PetaLinux 環境を設定します。

    source<petaLinux_tool_install_dir>/settings.sh
  3. PetaLinux SDK を更新して、Starter Kit SOM BSP に必要なレシピをイネーブルにします。

    petalinux-upgrade -u 'http://petalinux.xilinx.com/sswreleases/rel-v2021/sdkupdate/2021.1_update1/' -p 'aarch64'
  4. 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
  5. rootfs に XRT を追加します。

    KV260 PetaLinux BSP はオーバーレイ付き XRT をインストールするため、XRT はイネーブルにしません。アプリケーション開発者のクロスコンパイル用に sysroot を作成するには、rootfs で XRT をイネーブルにします。

    • petalinux-config -c rootfs を実行して、rootfs コンフィギュレーション ウィンドウを起動します。

    • [Filesystem packages][libs][xrt] をクリックします。

    • xrt をオンにします。

    • [Exit] を押してコンフィギュレーションを終了します。[Save] を押してコンフィギュレーションを保存します。

  6. PetaLinux をビルドし、SDK を生成します。

    petalinux-build petalinux-build --sdk

    PetaLinux イメージ ファイルと sysroot sdk.sh が /images/linux ディレクトリに生成されます。これらは、次の手順で使用します。

デバイス ツリー オーバーレイの生成

KV260 は Linux の起動後に PL を読み込むので、プラットフォームの PL IP 情報をデバイス ツリー オーバーレイとしてダイナミックにロードする必要があります。したがって、KV260 アクセラレーション プラットフォーム ソフトウェアには、プラットフォーム PL IP のデバイス ツリー オーバーレイを生成するという要件もあります。このデバイス ツリー オーバーレイには、次の 2 つの目的があります。

  1. XRT ドライバーを正しくロードされるようにするには、ZOCL ノードが必要です

  2. 手順 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 を生成します。

  1. DTG のインストール

    git clone https://github.com/Xilinx/device-tree-xlnx cd device-tree-xlnx git checkout xlnx_rel_v2021.1
  2. 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 コンソールを閉じることができます。

  3. dtsi を dtbo にコンパイル

    PetaLinux 環境のシェルで、次のコマンドを実行します。

    dtc -@ -O dtb -o pl.dtbo pl.dtsi

    注記: dtc はデバイス ツリー コンパイラです。dtc の詳細は、そのメイン ページソース コードを確認してください。

次の手順

注記: ハードウェア プラットフォームとソフトウェア プラットフォームがすべて生成されます。次に、Vitis プラットフォームをパッケージします。

Copyright© 2021 Xilinx