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 文件格式描述: MCS, EXO, HEX 等

Description

iMPACT 软件可用于生成以下 PROM 文件格式:

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

使用 iMPACT 软件还可以生成只包含 ASCII 格式数字(无地址)的十六进制文件 ("'.hex")。

iMPACT 11.4 以后版本不支持 EXO 文件,需要用 PROMGen 将这类文件转换成 MCS 文件。

如需更多 PROM 文件及其它配置文章,敬请查看 (Xilinx 答复 34104)

解决方案

PROMGen 可用于将文件格式从一种类型变为下面格式的另一种类型。

下面的语句将 ".mcs" 文件转换为 hex 文件:

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

PROM 文件格式

INTEL MCS-86 HEXADECIMAL OBJECT

File Format Code 88



Intel Hexadecimal Object 记录格式带有一个 用于定义记录开始位置、字节数、加载地址和记录类型的9 字符(4个字段)前缀,以及一个 2 字符的校验的后缀。

16 位十六进制格式允许 20 位分段地址空间;32 位格式允许 32 位线性地址空间。

六个记录类型为:

00 = 数据记录
01 = 文件记录结束(表示文件末尾)
02 = 扩展段地址记录(提供用来确定绝对目标地址的偏移)
03 = 开始段地址记录(在Data I/O 转换固件进行输入时忽略,输出时不发送)
04 = 扩展线性地址记录 (提供用以确定绝对目的地址的偏移) *
05 = 起始线性地址记录(提供执行起始地址) *

*注: 只在 32 位格式中支持扩展线性地址记录类型和起始线性地址记录类型。

(Data I/O 固件不使用起始段地址记录(第3类)。)

校验和是十六进制记录(包括字节数、地址和所有数据字节)中前面字节二进制总和的补码。

扩展段地址记录(第2类)定义20位段基地址的4至19位。该地址将被添加到后续的数据记录地址中,以提供绝对地址。(该记录随机出现在文件中,但对于这个应用而言是初始记录。)

扩展线性地址记录(第4类)定义32位线性基地址的 16 至 31 位。该地址将被添加到后续的数据记录地址中,以提供绝对地址。

注: 在使用这种格式时,即使偏移是零,也要规定地址偏移。

如果记录大小大于 16(十进制),则 Data I/O 固件会强制将记录大小设定为16(十进制)。

MOTOROLA EXORmacs

File Format Code 87



Motorola 数据文件可能以登陆记录开头,但这个应用会将其忽略。(数据记录包含一个 8 至 9 字符的前缀和一个 2 字符的校验的后缀。)

字节数量为记录中数据字节数量再加 3(四个十六进制字符的地址)或者加 4(六个十六进制字符的地址)——3 或 4 是校验和与地址的字节数。

校验和是十六进制记录(包括字节数、地址和所有数据字节)中前面字节二进制总和的补码。

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

Tektronix maximum address:..................................................65536 (x100000)

Motorola EXORmacs maximum address:..........................16777216 (x100000)

16-bit Intel MCS-86 Hexadecimal maximum address:..........1048576 (x100000)

32-bit Intel MCS-86 Hexadecimal maximum address:....4294967296 (x100000)

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

TEKTRONIX HEXADECIMAL

File Format Code 86



Tektronix 数据文件十六进制格式包含一个 9 字符的前缀(起始字符、地址、字节数和前缀校验和),随后是数据字节,最后是一个 2 字符的数据字符校验和。文件末尾记录只包含用于标明传输结束的控制字符,以及字节数和用于验证的校验和。

前缀校验和是组成地址和字节数的六位数 4 位十六进制值的 8 位总和。数据校验和是组成数据字节的 4 位十六进制值的 8 位总和再进行 256 模运算。

AR# 476
创建日期 08/21/2007
Last Updated 03/08/2010
状态 Active
Type 综合文章