ブート イメージ (PDI) を作成する - 2023.2 日本語

Versal アダプティブ SoC システム ソフトウェア開発者向けガイド (UG1304)

Document ID
UG1304
Release Date
2023-10-18
Version
2023.2 日本語

Versal デバイスのブートおよびコンフィギュレーションに使用するイメージ ファイル (PDI) は、AMD のブート イメージ生成ツール Bootgen を使用して作成する必要があります。Bootgen は、必要なブート ヘッダーを構築してイメージとパーティションを定義するテーブルを追加し、パーティションの入力データ ファイル (ELF ファイル、PL コンフィギュレーション データ、その他のバイナリ ファイル) を処理することによってブート イメージ (Versal デバイスの場合は PDI) を生成します。Bootgen には、各パーティションに対して特定のデスティネーション メモリ アドレスを割り当てたり、アライメント要件を与える機能があります。また、Bootgen は各パーティションに対する暗号化、認証およびチェックサム計算もサポートします。

Bootgen には、ブート イメージ フォーマット (BIF) ファイルと呼ばれるファイル (*.bif) を入力します。

ブート イメージのビルドの詳細は、 『Bootgen ユーザー ガイド』 (UG1283) を参照してください。

Vivado ツール フローは、バックエンドで Bootgen を使用して Versal デバイス用の PDI を生成します。この PDI には、ハードウェア固有のユーザー コンフィギュレーション データ、適応型コンフィギュレーション データ、NPI データ、および PLM が含まれます。通常、Vivado ツールから出力された PDI は、Vitis 開発プラットフォームや PetaLinux などのソフトウェア ツールにエクスポートされます。これらのツールは、PDI コンポーネントを再利用するか、または PDI、追加のソフトウェア実行ファイル、またはイメージを入力してより大規模な PDI を作成します。Vitis ツールの PDI には、PLM (ユーザーが変更した場合を含む)、Vivado ツールで生成したコンフィギュレーション データ、そして一般的には APU/RPU コアで動作するアプリケーションが含まれます。

Bootgen は、Versal デバイスのブートおよびリコンフィギュレーションに使用されるイメージ ファイル (PDI) の作成に不可欠です。Bootgen はこれらすべてのバイナリ イメージを配置して、イメージのロード時に PLM が解釈できるフォーマットでブータブル イメージを生成します。

Vivado ツールで生成された PDI には、次のセクション、イメージ、またはコンフィギュレーション データが含まれます。

  • ブート ヘッダー (イメージ識別子、PLM パーティションのサイズとオフセット、その他の属性を含む)
  • PLM (プラットフォームに依存しない)
  • PMC CDO (CIPS コンフィギュレーションに基づく)
  • メタ ヘッダー
  • LPD CDO (CIPS コンフィギュレーションに基づく)
  • PSM (CIPS コンフィギュレーションによる)
  • CFI データ
  • NPI データ
  • FPD CDO (CIPS コンフィギュレーションに基づく)

PL のみのフローなど、PMC および I/O の CIPS コンフィギュレーションが一部のみに限定されるようなユース ケースでは、LPD/FPD CDO や PSM など一部のデータ ファイルやイメージが不要なため、作成されないことがあります。

Vivado Design Suite で生成した PDI の拡張

Vitis 開発プラットフォームで作成し、Bootgen に入力されるファイルの例:

  • PLM
    注記: Bootgen は、Vivado で生成した PDI からの PLM および PSM ELF ファイルの置き換えをサポートしています。ただしこの機能を使用するのは、これらのファイルを特定用途向けに変更する必要がある場合のみです。ほとんどのユース ケースでは、Vivado ツールで生成したデフォルトの PLM および PSM ELF で正しく動作します。PLM ブートおよびコンフィギュレーション では、各サブシステムで使用するファイル、およびそのサブシステムをロードするための一般的な要件について説明しています。
  • APU/RPU アプリケーション
  • AI エンジン コンフィギュレーション (DMA など)
  • AI エンジン ELF
  • U-Boot

Bootgen は、次の種類の入力を使用して PDI を作成します。

  • Vivado ツールで生成した PDI。
  • Vitis ツールから出力されるその他のファイル (任意で変更した PLM を含む)。カスタム PLM はデフォルトの PLM を置き換えます。ただし、ほとんどの場合はデフォルトの PLM をそのまま使用できます。
  • ユーザーが作成したブート イメージ フォーマット (BIF) ファイル (オプション)。Vitis ツール PDI の作成に必要な命令を Bootgen に提供します。ごく一部のユース ケースにおいて、Vivado で生成した一部のファイルが更新された場合、Vivado で生成した BIF を必要に応じて再利用して、新しい PDI を作成/更新することもできます。