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

ID 683634
日付 10/09/2023
Public
ドキュメント目次

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

Agilex™ 7 SoC HPSの一般的なブートフローを次の図に表します。

図 15.  Agilex™ 7 SoCの一般的なブートフロー

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

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

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

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

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