Altera SoCエンベデッド・デザイン・スイート(EDS)ユーザ・ガイド

ID 683187
日付 2/17/2016
Public
ドキュメント目次

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)
表 12.  Version 0のヘッダ・フォーマット

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のヘッダ・フォーマット
表 13.  Version 1のヘッダ・フォーマット

0x52

ヘッダ・チェックサム

0x50

予約(0x0)

0x4c

プログラム・エントリ・オフセット(x)

0x48

バイト単位のプログラム・レングス(n)

0x46

バイト単位のヘッダ・レングス

0x45

フラグ

0x44

バージョン

0x40

検証ワード(0x31305341)

両バージョンのmkpimageヘッダに対するヘッダチェックサムは、0x0から(n*4)-4バイトへのバイト地のCRCチェックサムです。このnはプログラム・レングスを意味します。

CRCは、多項式の標準CRC32です。
x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
ビットの反映はなく、残りの初期値は0xFFFFFFFF、最終値は0xFFFFFFFFを持つexclusive OR-edです。