インテルのみ表示可能 — GUID: hkr1557328354906
Ixiasoft
9.1. 概要
9.2. ゴールデン・ハードウェア・リファレンス・デザイン (GHRD)
9.3. ソフトウェア要件の定義
9.4. ソフトウェア・アーキテクチャーの定義
9.5. ソフトウェア・ツールの選択
9.6. ブートローダー・ソフトウェアの選択
9.7. アプリケーションに対するオペレーティング・システムの選択
9.8. Linux*に向けたソフトウェア開発プラットフォームの構築
9.9. パートナーOSまたはRTOSに向けたソフトウェア開発プラットフォームの構築
9.10. ドライバーに関する考慮事項
9.11. ブートとコンフィグレーションに関する考慮事項
9.12. システムリセットに関する考慮事項
9.13. フラッシュに関する考慮事項
9.14. アプリケーションの開発
9.15. テストと検証
9.16. エンベデッド・ソフトウェアのデザイン・ガイドラインの改訂履歴
インテルのみ表示可能 — GUID: hkr1557328354906
Ixiasoft
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メモリー、フラッシュ・ブート・ソース、およびペリフェラル・インターフェイスの特定のコンフィグレーションに対して設定する必要があります。