AN 886: インテル® Agilex™ デバイスのデザイン・ガイドライン

ID 683634
日付 1/07/2022
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

9.6. ブートローダー・ソフトウェアの選択

インテル® Agilex™ SoC HPSの一般的なブートフローを次の図に表します。

図 15.  インテル® Agilex™ SoCの一般的なブートフロー

ブートローダー・ソフトウェアは、ソフトウェア開発プラットフォームにおいて最も重要なコンポーネントの1つです。ブートローダーでは、システムを初期化し、次のブートイメージであるオペレーティング・システムまたはベアメタル・アプリケーションに制御をロードして渡します。

インテル® Agilex™ SoCブートローダー ・ソフトウェアは次の2つの異なるステージに分かれています。
  • First Stage Bootloader (FSBL): SDMによってFPGAコンフィグレーション・ビットストリームからHPS側のオンチップメモリーにロードされます。
    • HPSをコンフィグレーションするために不可欠な初期のハードウェア設定を提供
    • ソフトウェア機能によりHPSのフラッシュおよびペリフェラル・コンポーネントを制御
    • ユーティリティーにより早期デバッグおよびトラブルシューティングが可能
  • Second Stage Bootloader (SSBL): FSBLによってDDRAMにロードされ、FSBLよりもはるかに多くの機能 (ネットワーク・アクセス、コマンドライン・インターフェイス、スクリプティング・サポートなど) を持つ可能性があります。
いくつかのブートローダーが、 インテル® Agilex™ に対してイネーブルされています。
  • U-Bootブートローダー: オープンソース・コミュニティーから入手可能な機能の一部を継承しています。Linux* OSユーザーの間で広く利用されています。U-Bootブートローダーは、GPLライセンスによって管理されています。
  • UEFIブートローダー: 豊富な機能があり、RTOSユーザーに広く利用されています。オープンソースのBSDスタイルライセンスで管理されています。
  • ATF (ARM Trusted Firmware) ブートローダー: UEFIで利用され、第1ステージ・ブートローダーのみを提供します。BSDスタイルライセンスを使用し、ベアメタル・アプリケーションを直接ロードするためにSSBLの代わりに使用できます。

ガイドライン: ソフトウェア開発プラットフォームに適したブートローダーを選択するには、最新バージョンを使用します。また、GPLおよびオープンソースのBSDライセンスについて十分に理解し、どのライセンス条項がご自身の要件に最適かを検討してください。

一般的なHPSシステムには数百個のレジスターがあます。レジスターの設定は、MPUサブシステム、ネットワーク・オンチップ・インターコネクト・コンポーネント、DDRAMメモリー、フラッシュ・ブート・ソース、およびペリフェラル・インターフェイスの特定のコンフィグレーションに対して行ってください。

ガイドライン: 必要とされる初期化設定の分量を考えると、ブートローダーをゼロから作成することはお勧めしません。提供されているブートローダーのオプションには、HPSのさまざまな部分に対する最適なデフォルトのコンフィグレーション設定が含まれています。