Arria 10 SoCブート・ユーザーガイド

ID 683735
日付 10/30/2015
Public
ドキュメント目次

1.1.1. 一般的なブート・フロー

HPSのブートは、複数のステージ・プロセスを経て実行されます。各ステージは、次のステージのロードに影響します。

第1ステージは、ブートROMの実行です。HPS内に位置するブートROMコードは、プロセッサをリセットから立ち上げ、既知の状態および安定した状態にします。次に第2ステージ・ブートローダを検索し、次のステージへコントロールを移譲します。ブートROMコードは、第2ステージ・ブートローダのみを把握しており、後続の潜在的なソフトウェア・ステージは把握していません。この期間、ブートROMはエラー条件もシームレスに処理します。

次のステージは、コントロールが第2ステージ・ブートローダに移譲される際に開始されます。第2ステージ・ブートローダは、外部フラッシュ・メモリ、あるいはFPGA内のどちらかのHPS外部に位置します。FPGAを使用する場合、第2ステージ・ブートローダはオンチップRAMにコピーをしなくても直接FPGAから実行可能です。第2ステージ・ブートローダは後続のステージ・ソフトウェアを検索し、ロードします。

コントロールが第2ステージ・ブートローダに移譲される前に、セキュア・ブートがイネーブルされているのであれば、暗号化/認証化が可能です。

ウォーム・リセット後、ユーザはオンチップRAM内でイメージを検索するようブートROMに指示を出し、直接実行することが可能です。この場合、RAM内に格納されたイメージは、あらかじめ認証化されたコードとしてオンチップRAMにインポートされている場合でも、未認証のクリアテキストとなります。

次の図は、一般的なブート・フローを表しています。ユーザ・ソフトウェア内のソフトウェア・ステージの数は、この図の限りではなく、ソフトウェア・ステージの役割も異なる場合があります。

図 1. 一般的なブート・フロー一般的なブート・フローにおける第2ステージ・ブートローダは、U-Bootとなります。一般的なブート・フローOSの例は、Linuxです。