インテルのみ表示可能 — GUID: lro1436891705682
Ixiasoft
7.3.2. ヘッダ・ファイルのフォーマット
mkpimageヘッダ・ファイルには2つのフォーマットがあります。
- Version 0 ‐ Cyclone VおよびArria VのSSBL(プリローダ)に使用されます
- Version 1 ‐ Arria 10のSSBL(ブートローダ)に使用されます
Cyclone VおよびArria Vのプリローダに使用されるVersion 0のヘッダには以下が含まれます。
- 検証ワード(0x31305341)
- バージョン・フィールド(0x0で設定されています)
- フラッグ・フィールド(0x0で設定されています)
- プリローダ・プログラムで32ビット・ワードで測定されるプログラム・レングス
- ヘッダ・コンテントの16ビット・チェックサム(0x40 – 0x49)
0x4A |
ヘッダ・チェックサム |
---|---|
0x48 |
予約(0x0) |
0x46 |
32ビット・ワードのプログラム・レングス(n) |
0x45 |
フラグ |
0x44 |
バージョン |
0x40 |
検証ワード(0x31305341) |
図 49. Version 0のヘッダ・フォーマット
Arria 10のブートローダに使用されるVersion 1のヘッダには以下が含まれます。
- 検証ワード(0x31305341)
- バージョン・フィールド(0x1で設定されています)
- フラッグ・フィールド(0x0で設定されています)
- バイト単位のヘッダ・レングス、0x14で設定されています(20バイト)
- バイト単位の総プログラム・レングス(例外ベクタとCRC領域を含む)。イメージが有効となるには、レングスは最小で0x5C(92バイト)、最大で0x32000(200KiB)である必要があります。
- ヘッダの開始(0x40)に対応するプログラム・エントリ・オフセットで、32ビット幅でワード・アラインメントされていなければいけません。デフォルトは0x14で、これより小さい値は無効となります。
- ヘッダ・コンテントの16ビット・チェックサム(0x40 – 0x51)です。
図 50. Version 1のヘッダ・フォーマット
0x52 |
ヘッダ・チェックサム |
---|---|
0x50 |
予約(0x0) |
0x4c |
プログラム・エントリ・オフセット(x) |
0x48 |
バイト単位のプログラム・レングス(n) |
0x46 |
バイト単位のヘッダ・レングス |
0x45 |
フラグ |
0x44 |
バージョン |
0x40 |
検証ワード(0x31305341) |
両バージョンのmkpimageヘッダに対するヘッダチェックサムは、0x0から(n*4)-4バイトへのバイト地のCRCチェックサムです。このnはプログラム・レングスを意味します。
CRCは、多項式の標準CRC32です。
ビットの反映はなく、残りの初期値は0xFFFFFFFF、最終値は0xFFFFFFFFを持つexclusive OR-edです。
x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1