HEX文件格式

以*.hex为后缀的文件我们称之为HEX文件。 HEX的英语原始意思是16进制。这种文件格式主要用于保
存单片机固件。

整个文件以行为单位,每行以冒号开头,内容全部为16进制码,2个ASCII码字符表示1个Hex字节

 

 

 

:02 0000 04 0804 EE

  • 每行以冒号开头
  • 第1字节0x02表示数据区的字节个数,用ASCII表示就是4个ASCII字符。
  • 第2、 3字节0x0000 表示偏移地址或无用填0
  • 第4字节0x04表示本行记录的类型
               '00' Data Rrecord:用来记录数据,HEX文件的大部分记录都是数据记录
               '01' End of File Record: 用来标识文件结束,放在文件的最后,标识HEX文件的结尾
               '02' Extended Segment Address Record: 用来标识扩展段地址的记录
               '03' Start Segment Address Record: 段地址 STM32不用
               '04' Extended Linear Address Record: 用来标识扩展线性地址
               '05' Start Linear Address Record: 程序启动运行的地址
  • 第5、 6字节表示数据区
  • 最后1个字节是校验字节。所有16进制码的累加和(不计进位),检验和 = 0x100 - 累加和

:02 0000 04 0804 EE <---------------首行给出烧录的目标地址的高16位 : 0x0804
           :10 0000 00 A899 0020 C101 0408 830B 0408 3908 0408 DA <------- 烧写到0x0804 0000 处的数据
           :10 0010 00 7F0B 0408 AB02 0408 5518 0408 0000 0000 18 <------- 烧写到0x0804 0010 处的数据

:04 0000 05 0804 01AD 3D <------- 05类型的行对于烧写程序无用。见参看英文。
           :00 0000 01 FF <------- HEX文件结束行

05 类型: Start Linear Address Record. The address field is 0000, the byte count is 04. The 4 data
bytes represent the 32-bit value loaded into the EIP register of the 80386 and higher CPU.


注:以上文字摘录安富莱STM32-V6 开发板软件开发手册

posted @ 2020-11-29 16:22  不要让自己太懒  阅读(2624)  评论(0编辑  收藏  举报