S19与HEX文件格式解析_第1页
S19与HEX文件格式解析_第2页
S19与HEX文件格式解析_第3页
S19与HEX文件格式解析_第4页
S19与HEX文件格式解析_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、S佃格式与HEX格式详解2019.03S19与HEX文件中的所有字节都是可打印的 ASCII字符,可用任何文本编辑器打开查看S19S-record 格式文件是Freescale CodeWarrior编译器生成的后缀名为.S19的程序文件, 是一段直接烧写进 MCU的ASCII码,英文全称问 Motorola format for EEPROMP rogram ming。S19格式是每一行为一个记录,每个记录由 6个部分组成,除起始代码外,均用十六进制数大端格式表示:1. 起始代码:一个大写字母“ S”,表示一个新记录的开始。2. 记录类型:1个十六进制位,取值0-9,定义记录块的类型,详见下

2、文。3. 字节数:2个十六进制位,表示地址、数据、校验和的总字节数。4. 地址:4, 6或8个十六进制位,具体的长度由记录类型决定,表示本条记录在内存中的起始地址。5. 实际数据:2n个十六进制字符,n为前面指定的字节数的值减去地址和校验和的长度。6. 校验和:2个十六进制字符,为字节数、地址和实际数据的所有字节(两个十六进制位)的和对0xFF取模,再求反码得到。一个完整的MOTOROLA S-Record格式数据包含如下区域: vtype 各字段的意思分别如下: :标示记录的类型,该字段占据1-byte。它可以有如下数值:“ S0,“ST ,“S2,“S3”,“S5,“S7,“S8,“Sb“

3、S0”-记录描述信息“ST , “S2 , “S3-记录存储的数据。这三者的区别在于地址(address) 的长度不同,S1为2-byte , S2为3-byte,以及S3为4-byte。“S5-包含了“ ST , “S2 , “S3” 的信息。确定程序的开始地址。这三者的区别也在于地址(address)的长度不同,S9为 2-byte,S8为 3-byte,以及 S7 为 4-byte。viength :标示了数据的长度,确切地说,是vaddress, 和 这三个字段的 byte 的个数。该字段占据 1-byte 。vaddress :标示了数据写入的起始地址。该字段的长度取决于vtype的

4、取值。 :标示了存储的数据。该字段占据的byte个数可以这样计算:viength的值-字段的长度(取值为2、3、4) - 1 ( vchecksum?段的长度) vchecksum标示校验位,占据1-byte。该数据可以由和的数据累加然后每 bit 取反获得。各记录类型代表的意义如下:记录类型描述地址字节数是否数据序列S0块头部2是S1数据序列2是S2数据序列3是S3数据序列4是S5记录数2否S7块结束4否S8块结束3否S9块结束2否S0 类型的数据序列包含厂商指定数据而不是程序数据。 S5 类型记录的记录数存 放在 2 字节的地址域中。 S7, S8 和 S9 类型记录的地址域可存放程序的起

5、始地 址。场中的信息被划分为以下四个子域:name( 名称 ):20 个字符,用来编码单元名称ver( 版本):2 个字符,用来编码版本号rev( 修订版本 ) :2 个字符,用来编码修订版本号description( 描述 ) : 0-36 个字符,用来编码文本注释此行表示程序的开始,不需烧入memory 。S1 Record: 记录类型是S1”(0x5331)。地址场由个字节地址来说明。数据场由可载入的数据组成。S2 Record : 记录类型是S2”(0x5332)。地址场由个字节地址来说明。数据场由可载入的数据组成。S3 Record : 记录类型是S3”(0x5333)。地址场由个字

6、节地址来说明。数据场由可载入的数据组成。S5 Record : 记录类型是(S5”(0x5335)。地址场由字节的值说明,包含了先前传输的 S1、S2 、S3 记录的计数。没有数据场。S7 Record: 记录类型是 “ S7 ” (0x5337)。地址场由字节的地址说明,包含了开始执行地址。没有数据场。此行表示程序的结束,不需烧入memory 。S8 Record :记录类型是 “ S8 ”(0x5338)。地址场由3 字节的地址说明,包含了开始执行地址。没有数据场。此行表示程序的结束,不需烧入memory 。S9 Record :记录类型是 “ S9 ”(0x5339)。地址场由2 字节的

7、地址说明,包含了开始执行地址。没有数据场。此行表示程序的结束,不需烧入memory 。例如:S02B0000433A5C446F63756D656E747320616E642053657474696E67735C7A6F75642E4143434F554E54535C7DS208010000FFFFFFFFFAS30800020000000000F5S5030002FAS9030000FC第一行:没什么,开个头而已。第二行:地址0x10000有4个OxFF第二行:地址0x20000有3个0x00第四行:标明之前有两条数据记录第五行:程序从0x0000地址开始运行 例如:S00F00006865

8、6C6C6F202020202000003CS11F00007C0802A6900100049421FFF07C6C1B787C8C23783C6000003863000026S11F001C4BFFFFE5398000007D83637880010014382100107C0803A64E800020E9S111003848656C6C6F20776F726C642E0A0042S5030003F9S9030000FC起始代码 记录类型字节数 地址数据 校验和Intel HEXIn tel HEX 文件中每一行称为一个记录,每个记录由 6个部分组成,除起始代码外,均用十六进制数表示:1. 起

9、始代码:一个半角冒号“:”,表示一个新记录的开始。2. 字节数:2个十六进制位,表示数据域的字节数,通常为16( 0x10)或32(0x20)。3. 地址:4个十六进制位,表示本条记录在内存中的起始地址。由于只能表示64KB范围的地址,故利用段地址和段内偏移量的寻址方案,段地址和段内偏移量使用不同的记录类型区分,详见下文。地址采用大端格式。4.记录类型:5.实际数据:6.校验和:22个十六进制位,取值00-05 ,定义记录块的类型,详见下文。2n个十六进制字符,n为前面指定的字节数的值。个十六进制字符,为除冒号和校验和本身外的所有字节(两个十六进制位)的和对OxFF取模,再求补码得到。例如一条

10、记录 “ :0300300002337AlE中,03 + 00 + 30 + 00 + 02 + 33 + 7A =E2,再对E2求补码(按位取反再加1 )得到1E。验证记录块是否正确时,将 除冒号外的所有字节相加再对 0xFF取模,应得0。六种记录类型分别为:00:可重定位的数据记录,使用如上所述格式。01:文件结束标志,一个文件只允许在文件的最后有一个 01类型的记录, 通常为“ :00000001FF”。02:扩展段地址记录,当16位地址不够用时,用此类型记录指定段地址,用随后的一个00类型记录指定段内偏移量及数据。段地址左移四个二进 制位再加上段内偏移量为实际的地址,与80x86实模式

11、的寻址方案相同, 详见本站另一篇文章段地址:段内偏移量寻址方案。02类型记录的地02。址域必须为0000,段地址存放在数据域,故字节数必须为03:起始段地址记录。对于80x86处理器,此类型记录用于指定 CS:IP 存器对的初始值。03类型记录的地址域必须为0000 ,字节数为04, 中数据的前两个字节指定 CS值,后两个字节指定IP值。04:扩展线性地址记录,用于32位寻址。用一个04类型记录指定32 地址的高16位,用随后的一个00类型记录指定32位地址的低16 及数据。04类型记录的地址域必须为 0000, 32位地址的高16位存放 在数据域,故字节数必须为02。05:起始线性地址记录。05类型记录的地址域必须为0000,字节数必须 为04。4个字节的记录表示80386及更高级CPU中EIP寄存器的值。Intel HEX 还有几个子类型的格式:I8HEX 或 INTEL 8 :位格式。I16HEX 或 INTEL 1616位格式。允许使用02类型记录,数据域的大小端格式可交换。I32HEX 或 INTEL 3232位格式。允许使用03, 04, 05 类型记录,数据域的大小端格式可交换。例如:100100002146013

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论