iMPACT 软件可用于生成以下 PROM 文件格式:
使用 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 | |
---|---|
日期 | 03/08/2010 |
状态 | Active |
Type | 综合文章 |