5.1. 概要
5.2. ソフトウェア開発プラットフォームのコンポーネントの組み立て
5.3. ゴールデン・ハードウェア・リファレンス・デザイン (GHRD)
5.4. アプリケーションのオペレーティング・システムの選択
5.5. Linuxに向けたソフトウェア開発プラットフォームの構築
5.6. ベアメタル・アプリケーションに向けたソフトウェア開発プラットフォームの構築
5.7. パートナーOSまたはRTOSに向けたソフトウェア開発プラットフォームの構築
5.8. ブートローダー・ソフトウェアの選択
5.9. 開発、デバッグ、およびトレースに向けたソフトウェア・ツールの選択
5.10. ブートおよびコンフィグレーションにおける考慮事項
5.11. システムリセットにおける考慮事項
5.12. フラッシュの考慮事項
5.13. エンベデッド・ソフトウェアのデバッグとトレース
5.14. インテル® Stratix® 10 SoC FPGA向けエンベデッド・ソフトウェアのデザイン・ガイドライン改訂履歴
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メモリー、フラッシュ・ブート・ソース、およびペリフェラル・インターフェイスの特定のコンフィグレーションに設定する必要があります。