新闻中心

EEPW首页>嵌入式系统>设计应用> 嵌入式开发系统编程文件格式解析

嵌入式开发系统编程文件格式解析

作者: 时间:2011-12-22 来源:网络 收藏

扩展的Tektronix HEX相对Tektronix HEX具有较为灵活的记录类型和地址空间。它包括3种类型的记录:数据、符号和结束记录。数据记录中的是目标代码;符号记录中的是部分的信息,器下载时符号记录是被忽略的;结束记录包括头部、下载地址和目标代码。
扩展的Tektronix HEX模型如下:
%BBMEEAAAAADDDDDD-DCC
%:占1个ASXCII字符,标示扩展Tek HEX记录开始。
BB:长度域。占1个字节,表示该记录中除开始标志之外的字节数。
M:类型域,一个ASCII字符。类型域中:6代表数据记录,3代表符号记录,8代表结束记录。
EE:地址和长度数据的校验和,大小为1个字节。
AAAAA:地址域。地址域包括2~1 7个字符,第1个字符决定了地址的长度,一般为8,0代表16个字符的地址长度。地址域第1个字符之外的字符指出了数据在存储器存放的地址。
DD:数据域。包括可执行代码,下载到存储器的数据以及传输中的描述信息。
CC:校验和,占一个字节。校验和域对本条记录中除了“%”和校验数据本身之外的所有数据计算校验和。
根据是否有数据和结束记录,记录中域的数量是不一样的,2种记录都有6个字符的头以及2~17个字符的地址。
1.3 描述类
描述类格式的信息有相对丰富的文件格式,文件不仅有关于数据的记录信息,还包含了关于目标机的一些说明信息,改变硬件结构的信息或者测试信息等。该类型的文件最常见的是用于PLD和FPGA的下载文件。
1.3.1 JEDEC文件
JEDEC(Joint ELectron Device Engineermg Council)标准是用于现场可逻辑器件的。该标准定义了在和编程器之间传输熔丝状态的数据格式。它并不涉及诸如逻辑阵列类型和输出宏单元等设备结构信息。现场可编程逻辑器件比可编程的存储器件需要更多的测试信息,所以该标准还定义了一些简单的测试格式。JEDEC格式的合法字符包括所有可打印的ASCII字符和4个控制字符,包括STX(Start of Text)、ETX(End of Text)、CR(Carriage Return)和LF(Line Feed)。一般使用BNF(Backus-Naur Form,巴科斯一诺尔范式)来定义JEDEC格式的语法。
JEDEC格式的第1个域是强制的关于设备信息设计规格书,这个域没有开始标记符。在JEDEC文件中每一个域都有域识别符以指明该域的类型,每一个域都是以星号结束。JEDEc文件各种域识别符如表3所列。

本文引用地址://m.amcfsurvey.com/article/149949.htm

c.jpg


描述及定义域主要用来说明用户和厂商信息、日期和版本号等各种信息。
N——说明域。用来在JEDEC文件传输中插入说明信息,编程器是忽略这一域的。
D——器件域。编程器支持的器件并不是遵从这一域,而是由QF和QP域以及手动选择器件而决定。
QF,QP和QV——数值域。QF子域定义了器件中熔丝的数量,在器件编程或者测试域之前,这些数值域都是必须的;只有测试域的文件不需要QF域,编程数据的文件不需要QP和QV域;QF子域向编程器指出了熔丝数据需要多少存储器,多少熔丝要被设置到初始条件以及计算校验和所包含的熔丝数;QP子域定义了测试向量中的引脚数目或者测试条件;QV子域指出了测试向量的最大数。
器件编程域。每一个熔丝有2种可能的状态:0为低阻连接,1为高阻连接。熔丝编号从0开始一直到最大熔丝数目。L域中L之后是该域第一个熔丝的十进制序号数字,接下来就是指示熔丝状态的二进制数字列表,熔丝号和熔丝列表之间由空格或者回车分开。F域定义了L域中未明确定义的熔丝状态信息。C域是把从第一个熔丝开始的整个器件的熔丝状态每8位作为一个字节来计算的,最后一个字中若有未使用的位则填0。U域允许指定JEDEC文件中的不影响逻辑和电特性的用户数据熔丝。E域允许定义不影响器件逻辑功能也不影响已有的JEDEC文件的特性,数据可以用二进制或者十六进制来表示。J——器件标识域。提供逻辑识别码指出文件对应器件的逻辑结构,由以空格分开的分别大于等于0昀2个十进制数组成:第1个是结构码,第2个是引脚码。J域中的编码是由JEDEC组织分配的。
设备测试域。功能性的测试由测试向量包含的测试条件来定义,每一个测试向量包括n个测试条件。n是器件引脚数,测试条件如表4所列。

d.jpg


X——默认测试条件域。定义了未精确定义的测试向量的输入逻辑电平,即把QV域中的测试向量1设置为默认输入测试条件。若使用X域,应当在QV和QP域之后第一个测试向量之前。V——测试向量域。由十进制的向量编号开始,之后是空格以及每个引脚的一串测试条件。P——Pin引脚序列域。P域映射出了器件输出引脚,一般和V域一起使用。代码如下所示:
P 1 2 3 4 5 6 14 15 16 17 7 8 9 10 11 12 13 18 19 20*
V0001 111000HLHHNNNNNNNNNN*
V0002 100000HHHLNNNNNNNNNN*
编程及测试选项类域:G为熔丝安全域。用来使能某些逻辑器件的加密熔丝,在G域发送1,即G1*;R、S、T为属性分析测试;A为访问时间域,定义了测试向量在十亿分之一秒内的传播延时。
1.3.2 POF文件
POF文件中的包类型如表5所列。POF(Programmer Object File,编程目标文件)格式提供高度压缩的数据文件,可方便有效地传输大量的逻辑器件编程信息。这种文件目前主要应用于MAX系列器件。POF文件由文件头和各种包组成,每个包对应一个标记,指出包中的数据类型以及数据本身结构,各个包的长度和结构各异。每个数据包的最前6个字节是包类型和其余字节的数量。编程设备在读取POF文件时,若包类型未被识别,则该包弃之不用。在一个POF文件中,除了结束标记包外,各种类型都可多次出现。有些包编程器是需要包中信息的,有些包编程器是不使用的(跳过),有些包则是编程器只读包中信息但不直接应用该信息的(只读)。

e.jpg



2 总结
为方便用户使用,目前大多数主流公司生产的编程器都能够在下载文件时自动进行某几种文件格式的检测识别以及文件格式的转换。然而这毕竟解决不了文件格式之间互不兼容的实际问题。因此,我们期望在未来几年内文件格式可以逐步走向统一,拥有一种或少数几种格式标准。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭