当前位置:首页 > 单片机 > 单片机
[导读] 嵌入式程序编译后可以生成.HEX格式的可执行文件,远程升级的原始升级程序的格式也是.HEX格式文件,因此首先应深入理解HEX文件格式。 HEX格式文件是一个记录文本行的ASCII文本文件,在IntelHEX文件中

嵌入式程序编译后可以生成.HEX格式的可执行文件,远程升级的原始升级程序的格式也是.HEX格式文件,因此首

先应深入理解HEX文件格式。

HEX格式文件是一个记录文本行的ASCII文本文件,在IntelHEX文件中,每一行是一个HEX记录,由十六进制数组

成的机器码或者数据常量。一个数据记录以一个冒号(0x3A)开始。

一个IntelHEX文件可以包含任意多的十六进制记录,每条记录有五个域,下面是一个记录的格式:

:LLAAAATT[DD...]CC

每一组字母是独立的一域,每一个字母是一个十六进制数字,每一域至少由两个十六进制数字组成,下面是字节的描

述.

:(冒号)是每一条IntelHEX记录的开始

LL是这条记录的长度域,他表示数据(dd)的字节数目.注意:LL表示数据的长度而不是一行五个域的总长度。

AAAA是地址域,他表示数据的起始地址

TT这个域表示这条HEX记录的类型,他有可能是下面这几种类型 :

00----数据记录

01----文件结束记录

02----扩展段地址记录

04----扩展线性地址记录

05----用于调试器,芯片烧录可忽略

06----用户信息记录(并非标准HEX格式,升级时与上位机自行商定)

07----用户信息记录(并非HEX标准格式,升级时与上位机自行商定)

DD是数据域,表示一个字节的数据,一个记录可能有多个数据字节,字节数目可以查看LL域的说明。

CC是校验和域,表示记录的效验和,计算方法是将本条记录冒号开始的所有字母(不包括冒号即“3A”但包括校验字节)相加之后等于0x00。

一个IntelHEX文件必须有一个文件结束记录,这个记录的类型域必须是01。

下面举例说明,以加强对HEX文件的理解

1.1.数据记录举例

(注:为了便于查看,将各域用【】隔开,实际HEX文件数据中并无这个括号,下同)

【:】【10】【0000】【00】【18F09FE518F09FE518F09FE518F09FE5】【C0】

这其中,【:】为一个记录的开始;

【10】为长度域,表示数据长度,为16进制,0x10表示数据域的数据长度为16个字节;

【0000】为地址域,表示数据的起始地址;

【00】为记录类型域,00表示本记录为数据记录;

【18F09FE518F09FE518F09FE518F09FE5】为数据域;

【C0】为校验和域,表示记录的校验和,计算方法是将本条记录冒号开始的所有字母(包括校验字节)相加之后等于0x00。本记录的校验和计算方法为:

【10】+【0000】+【00】+【18F09FE518F09FE518F09FE518F09FE5】+【C0】=0x00;

1.2.扩展线性地址记录举例

【:】【02】【0000】【04】【0001】【FA】

这其中:【:】为一个记录的开始;

【02】为长度域,表示数据长度,为16进制,0x02表示数据域的数据长度为2个字节;

【0000】为地址域,表示数据的起始地址,这里为绝对地址;

【04】为记录类型域,04表示本记录为扩展线性地址记录;

【0001】为数据域,该数据内容表示数据地址的高16位。地址域与被移位的来自扩展线性地址记录的地址

数据相加获得数据记录的32位绝对存储器地址。因为只用地址域的16位数据只能表示64K的程序,当程序绝对地

址地址超过0xFFFF时,必须用该记录进行线性地址扩展,经过线性地址扩展,程序可以达到4GB。

【FA】为校验和域,表示记录的校验和。

1.3.文件结束记录举例

一个IntelHEX文件必须有一个文件结束记录,这个记录的类型域必须是01。一个文件结束记录是如下所示的固定

格式:

:00000001FF

1.4.扩展段地址记录:不会用到。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

会话层(Session)是建立在传输层之上,利用传输层提供的服务,使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要。

关键字: 会话层 传输层 文件

摘要:针对信息系统自身安全需求及威胁行为特征,提出了基于云架构的分级威胁防御机制。该机制将信息系统作为一个整体进行威胁防护,将文件访问异常行为作为判断威胁的依据,并针对信息系统终端安全分级设计了不同的文件访问行为模型,然...

关键字: 信息系统 威胁 文件 云架构 分级

Linux一个重要的哲学是:一切皆文件。而文件与文件系统是密切相关的,本篇笔记我们来一起学习、理清那些令我们眼花缭乱的文件系统。

关键字: Linux 文件系统 文件

我们在使用linux时,提示 Could not get lock /var/lib/dpkg/lock 报错?

关键字: Linux 文件

  在Windows中打开一个文件时,系统会自动调用相应的程序来打开它。但有时我们不想用这个程序来打开这个文件,这就得改变文件和程序的关联,《电脑报》上有一些改动关联的方法,但通过修改注册表,也可以找

关键字: 文件 程序 关联方法

Android上可能有很多文件浏览器,但是对于应用程序,没有太多选择。 由于用户使用同一类型应用程序的方式可能非常不同,因此在对书签问题进行故障排除时,只有一项额外功能或缺少功能会中断交易。 如果您有一个新的文件浏览器,...

关键字: Android 文件 ultra explorer

您对最近发布的几款国家手机有何打算? 小米10极限纪念版可能是小米在2020年最强大的设备。在下半年,新机器仍然具有这种实力,但可能没有。 自从iQOO5发布以来,有人说它物超所值,而且三星手机仍然非常昂贵。 您会发现H...

关键字: iOS iPhone 文件

8月5日消息 谷歌 “文件”App 中新增了一种受 PIN 保护的 “安全文件夹”功能。用户需要设置一个四位数的 PIN,之后可以将任何敏感性文件存储到其中。当用户切换到另一个 App 后,该文件夹

关键字: 文件 谷歌

其实linux就是一个文件系统。

关键字: Linux 文件 inode

我们知道,在Linux系统中,“一切都是文件”的说法随处可见,这意味着Linux由文件系统组成。 掌握文件和目录是掌握此系统的最大要求。

关键字: Linux 文件 目录
关闭
关闭