UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 476

PROMGen - PROM/EEPROM ファイル フォーマットの説明 (Intel MCS、Motorola EXOR、Tektronix HEX)

説明

iMPACT ソフトウェアで、次の PROM ファイル フォーマットを生成できます。

  • Intel MCS-86 Hexadecimal Object (.mcs)
  • Motorola EXORmacs (.exo)
  • Tektronix HEX (.tek)

iMPACT ソフトウェアを使用すると、ASCII 形式のデータのみ (アドレス指定なし) を含む 16 進数ファイル (.hex) も生成できます。

EXO ファイルは iMPACT 11.4 以降ではサポートされず、PROMGen を使用して MCS ファイルに変換する必要があります。

PROM ファイルおよびコンフィギュレーションに関するその他のアンサーは、(Xilinx Answer 34104) を参照してください。

ソリューション

PROMGen を使用してファイル フォーマットを変換するには、次のコマンドを使用します。

この例は、.mcs ファイルを .hex ファイルに変換します。

promgen -p hex -r input.mcs -o output.hex

PROM ファイル フォーマット

INTEL MCS-86 Hexadecimal Object

ファイル フォーマット コード 88



Intel Hexadecimal Object レコード フォーマットは、レコードの開始、バイト カウント、読み込みアドレス、レコード タイプを定義する 9 文字 (4 フィールド) の接頭辞と、2 文字のチェックサム接尾辞が含まれます。

16 ビットの 16 進数フォーマットは 20 ビットのセグメント化されたアドレス空間で、32 ビット フォーマットでは 32 ビットの線形アドレス空間で使用できます。

6 つのレコード タイプは次のとおりです。

00 = データ レコード
01 = ファイル レコードの終了 (ファイルの最後の信号)
02 = 拡張セグメント アドレス レコード (絶対デスティネーション アドレスを決定するオフセット)
03 = セグメント アドレス レコードの開始 (データ I/O トランスレータ ファームウェアでは入力は無視され、出力は送信されない)
04 = 拡張線形アドレス レコード (絶対デスティネーション アドレスを決定するオフセット) *
05 = 線形アドレス レコードの開始 (実行開始アドレス) *

*メモ : 拡張線形アドレス レコードおよび線形アドレス レコードの開始は、32 ビット フォーマットのみでサポートされます。

セグメント アドレス レコードの開始 (タイプ 03) は、データ I/O ファームウェアでは使用されません。

チェックサムは、16 進数で表されたレコード (バイト カウント、アドレス、データ バイトを含む) のそれまでのバイトの 2 進合計を 2 の補数で表記したものです。

拡張セグメント アドレス レコード (タイプ 02) は、20 ビットのセグメント ベース アドレスのビット 4 ~ 19 を定義します。このアドレスは次に続くデータ レコード アドレスに加算され、絶対アドレスが求められます。このレコードはファイル内でランダムに記述されることがありますが、このアプリケーションではこれが最初のレコードです。

拡張線形アドレス レコード (タイプ 04) は、32 ビットの線形ベース アドレスのビット 16 ~ 31 を定義します。このアドレスは次に続くデータ レコード アドレスに加算され、絶対アドレスが求められます。

メモ : このフォーマットを使用する場合は、オフセットの値が 0 の場合でも必ずアドレス オフセットを指定してください。

16 を超えるレコード サイズが指定された場合、データ I/O ファームウェアにより強制的に 16 (10 進数) に変更されます。

MOTOROLA EXORmacs

ファイル フォーマット コード 87



Motorola のデータ ファイルの最初にサインオン レコードがある場合がありますが、このアプリケーションでは無視されます。データ レコードには、8 または 9 文字の接頭辞と 2 文字のチェックサム接尾辞が含まれます。

チェックサムとアドレスで、バイト カウントはレコードの中のデータ バイト数に 3 を足した数 (16 進数アドレスが 4 文字の場合)、または 4 を足した数 (16 進数のアドレスが 6 文字の場合) です。

チェックサムは、16 進数で表されたレコード (バイト カウント、アドレス、データ バイトを含む) のそれまでのバイトの 2 進合計を 1 の補数で表記したものです。

************************************************************************************************

Tektronix の最大アドレス :..................................................65536 (x100000)

Motorola EXORmacs の最大アドレス :..........................16777216 (x100000)

16 ビットの Intel MCS-86 Hexadecimal の最大アドレス :..........1048576 (x100000)

32 ビットの Intel MCS-86 Hexadecimal の最大アドレス :....4294967296 (x100000)

************************************************************************************************

TEKTRONIX HEXADECIMAL

ファイル フォーマット コード 86



Tektronix Hexadecimal フォーマットは、9 文字の接頭辞 (開始文字、アドレス、バイト カウント、接頭辞のチェックサム)、データ バイト、およびデータ文字の 2 文字のチェックサムで構成されています。ファイルの最後のレコードは、データの終わりを示す制御文字、バイト カウント、およびチェック サムのみで構成されています。

接頭辞チェックサムは、アドレスおよびバイト カウントを構成する 6 桁の 4 ビット 16 進数値の 8 ビット合計です。データ チェックサムは、データ バイトを構成している桁の 4 ビット 16 進数値の 8 ビット合計 (モジュロ 256) です。

AR# 476
作成日 08/21/2007
最終更新日 03/08/2010
ステータス アクティブ
タイプ 一般