AN 802: インテル® Stratix® 10 SoC デバイスのデザイン・ガイドライン

ID 683117
日付 4/17/2019
Public
ドキュメント目次

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

Stratix 10 SoC HPSの一般的なブートフローを次の図に表しています。

図 24. 一般的な インテル® Stratix® 10 SoCのブートフロー

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

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

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

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

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