1.2.2 Motorola S/EXORciser/EXORmacs/32位格式
Motorola公司的产品主要基于Motorola S记录格式,这种文件格式以一种可打印的格式编码程序和数据文件来实现计算机系统间的传输,可以使下载文件实现可视化编辑。S记录由特殊排列的一串ASCII字符序列组成,最大长度为78字节。一个文件内的S记录一般没有特定的顺序要求。目前主要有3种S记录文件格式:S19格式,地址域是16位,最大可写64 Kb的文件;S28格式,地址域24位,最大可写16 Mb的文件;S37格式,地址域32位,最大可写4 Gb的文件。
S记录的一般格式是:类型域--长度域--地址域--数据域--校验和。S记录的各种记录类型有不同的格式和意义,具体如表2所列。
Motorola S19(又称Motorola EXORciser)格式是以S0记录开始,数据记录都是以S1标识的2字节地址类型的记录,S9标识结束记录格式。Motorola S28(又称Motorola EXORmacs)格式是以S0记录开始,数据记录都是以S2标识的3字节地址类型的记录,S8标识结束记录格式。Motorola S37(又称Motorola 32位)格式是以S0记录开始,数据记录以S3字符标识的4字节地址类型的记录,S7标识的结束记录格式。
表2 S记录的记录类型 1.2.3 TektrONix HEX/扩展的Tektronix HEX格式 Tektronix HEX格式如下所示:
/AAAABBEEDDDDDDDDCC
/:记录开始标记符。
AAAA:地址域。占两个字节,记录了第一个数据字节的地址。
BB:长度域。占1个字节,因此每条记录的最大数据个数为255字节。
EE:地址和长度数据的校验和域。大小为1个字节。
DD:数据域。最大为255个数据字节,但一般记录中为32个字节。
CC:数据的校验和域。
文件的结束记录中包括记录开始符("/")、传输地址、数值为"00"的长度以及传输地址和长度的校验和字节。一种可选择的中断记录以2个开始符("//")为记录开始,接着是一串任意的ASCII字符串。
扩展的Tektronix HEX相对Tektronix HEX格式具有较为灵活的记录类型和地址空间。它包括3种类型的记录:数据、符号和结束记录。数据记录中的是目标代码;符号记录中的是编程部分的信息,编程器下载时符号记录是被忽略的;结束记录包括头部、下载地址和目标代码。
扩展的Tektronix HEX格式模型如下:
%BBMEEAAAAADDDDDD---DCC
%:占1个ASCII字符,标示扩展Tek HEX记录开始。
BB:长度域。占1个字节,表示该记录中除开始标志之外的字节数。
M:类型域,一个ASCII字符。类型域中:6代表数据记录,3代表符号记录,8代表结束记录。
EE:地址和长度数据的校验和,大小为1个字节。
AAAAA:地址域。地址域包括2~17个字符,第1个字符决定了地址的长度,一般为8,0代表16个字符的地址长度。地址域第1个字符之外的字符指出了数据在存储器存放的地址。
DD:数据域。包括可执行代码,下载到存储器的数据以及传输中的描述信息。
CC:校验和,占一个字节。校验和域对本条记录中除了"%"和校验数据本身之外的所有数据计算校验和。
根据是否有数据和结束记录,记录中域的数量是不一样的,2种记录都有6个字符的头以及2~17个字符的地址。 |