Zynq UltraScale+ MPSoC のブート ヘッダー - 2022.1 日本語

Vitis 統合ソフトウェア プラットフォームの資料: エンベデッド ソフトウェア開発 (UG1400)

Document ID
UG1400
Release Date
2022-04-26
Version
2022.1 日本語

ブート ヘッダーについて

Bootgen は、ブート イメージの先頭にブート ヘッダーを追加します。ブート ヘッダー テーブルは、FSBL などのプライマリ ブートローダーのブートに関連する情報を含む構造です。ブート イメージには、このような構造が 1 つだけあります。bootROM はこのテーブルを解析して、FSBL がフラッシュのどこに格納されていて、OCM のどこにロードする必要があるかを判断します。一部の暗号化および認証に関連するパラメーターもここに格納されます。ブート イメージには、次のコンポーネントが含まれます。

bootROM は、ブート ヘッダーを使用して、FSBL の位置と長さ、および FSBL に制御を渡す前にシステムを初期化するために必要なその他の情報を検索します。次の表に、 Zynq® UltraScale+™ MPSoC デバイスのアドレス オフセット、パラメーター、および説明を示します。

表 1. Zynq UltraScale+ MPSoC デバイスのブート ヘッダー
アドレス オフセット パラメーター 説明
0x00-0x1F Arm® ベクター テーブル XIP ELF ベクター テーブル:
  • 0xEAFFFFFE: Cortex®-R5F および Cortex A53 (32 ビット) の場合
  • 0x14000000: Cortex A53 (64 ビット) の場合
0x20 幅検出ワード QSPI の幅検出に使用されます。これは、リトル エンディアン フォーマットでは 0xAA995566 です。
0x24 ヘッダー署名 バイト オーダーで 4 バイトの「X」、「N」、「L」、「X」を含みます。これは、リトル エンディアン フォーマットの 0x584c4e58 です。
0x28 キー ソース
  • 0x00000000 (暗号化なし)
  • 0xA5C3C5A5 (eFUSE に格納されているブラック キー)
  • 0xA5C3C5A7 (eFUSE に格納されている難読化キー)
  • 0x3A5C3C5A (BBRAM に格納されているレッド キー)
  • 0xA5C3C5A3 (eFUSE に格納されているレッド キー)
  • 0xA35C7CA5 (ブート ヘッダーに格納されている難読化キー)
  • 0xA3A5C3C5 (ブート ヘッダーに格納されているユーザー キー)
  • 0xA35C7C53 (ブート ヘッダーに格納されているブラック キー)
0x2C FSBL 実行アドレス (RAM) OCM 内の FSBL 実行アドレスまたは XIP ベース アドレス。
0x30 ソース オフセット PMUFW がない場合は、FSBL の開始オフセットです。PMUFW がない場合は、FSBLPMUFW の開始です。
0x34 PMU イメージの長さ PMU ファームウェアの元のイメージの長さ (バイト)。(0~128KB)。
  • サイズ > 0 の場合、PMUFW は FSBL の前に付きます。
  • サイズ = 0 の場合、PMUFW イメージはなしです。
0x38 PMU FW 全体の長さ PMUFW イメージ全体の長さ.(PMUFW 長 + 暗号化オーバーヘッド)
0x3C FSBL イメージの長さ 元の FSBL イメージの長さ (バイト)。(0~250KB)。0 の場合、XIP ブート イメージと見なされます。
0x40 FSBL イメージ全体の長さ FSBL イメージの長さ + FSBL イメージの暗号化オーバーヘッド + 認証証明 + 64 バイト アライメント + ハッシュ サイズ (インテグリティ チェック)。
0x44 FSBL イメージ属性 属性ビットを参照してください。
0x48 ブート ヘッダー チェックサム オフセット 0x20 ~ 0x44 のワードの合計。ワードはリトル エンディアンと見なされます。
0x4C-0x68 難読化/ブラック キーの格納 難読化キーまたはブラック キーを格納します。
0x6C シャッター値 PUF でシャッター オフセット時間およびシャッター オープン時間を設定する 32 ビットの PUF_SHUT レジスタ値。
0x70 ~ 0x94 ユーザー定義フィールド (UDF) 40 バイト。
0x98 イメージ ヘッダー テーブル オフセット イメージ ヘッダー テーブルを指すポインター。
0x9C パーティション ヘッダー テーブル オフセット パーティション ヘッダーを指すポインター。
0xA0-0xA8 セキュア ヘッダー IV ブートローダー パーティションのセキュア ヘッダー用 IV。
0x0AC-0xB4 難読化/ブラック キー IV 難読化キーまたはブラック キーの IV。