Intel HEX文件格式学习心得分享

① HEX文件以ASCII码的形式显示16进制数据。

② HEX文件每一条记录都是固定格式,以“:”开头,数据部分分为5个区域: 

前2位是数据长度域,

接着是4位的地址域,

接着是2位的数据类型域,

再是数据区域,长度在最前面的数据长度域定义,

最后是2位校验位。

校验方法是:所有数据视为16进制的数据,再相加和为0。

③ 数据类型域只能是如下6种数据:

00 数据记录

01 文件结束记录

02 扩展段地址记录

03 开始段地址记录

04 扩展线性地址记录

05 开始线性地址记录

 虽然有6种类型,但是并不是都会出现,有的是特定架构的芯片独有的。对单片机来说,02这个类型似乎没有什么用处,Intel的资料如下:

类型02的计算方法是 02所指定的16位地址,左移4位,再与00类型记录的地址相加,得到内存地址。

类型 03 也没有用处,资料如下:

大概是8086/80186有用吧。

⑤ 还剩4个类型,可以完全解读单片机生成的HEX文件了,如图下两张图所示:

第一条记录是 04 这个类型,它标记了写入内存地址的高16位。将数据域左移16位得到0x00020000,我们记住它,因为这个地址不再出现了,他是以后地址的高16位。

以后的几乎都是00这个类型,属于数据,它跟二进制bin文件是相同的,只是它是ASCII码。

第一条意思是:在地址是 0x0002C000的数据,有16个,分别是:

0x50 0x48 0x00 0x20 0x8D 0xC2 0x02 0x00 0x95 0xC2 0x02 0x00 0x97 0xC2 0x02 0x00

最后倒数第二条记录,类型是 05,可以解读地址是 0x0002C201,代表函数入口地址,参考Intel的资料,感觉对单片机也没用。

最后一条的类型是01,代表整个HEX文件结束.

下面的图是bin文件跟HEX文件的对比,可以看出bin文件跟HEX的00类型里面的数据域内容相同。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
v0.8.0: 去掉“直接Hex文件编辑”功能的128K字节限制(其他功能仍然有128KB限制) v0.7.0: 一些小的调整 V0.6.1: 调整另存对话框,去掉无效选项 V0.6.0: 加入文件拖放功能。 V0.5.5:修正建立新的配置文件时,保存失败的Bug。 V0.5.4:修正数制计算器中输入A-F时的bug,增加源数据存储类型选择。 0.5.3:修改图标,部分界面。 0.5.2: About 界面修改,添加更新网址。 0.5.1:修正块另存时新建文件保存失败的Bug。 0.5:新增文件内、文件间块移动、复制、交换、另存等功能 0.4:新增转换为二进制后比较功能 本人继MCUTool以后的另外一个单片机开发实用工具软件,用于单片机调试过程中简单的参量修改,省略修改源代码、再编译的过程,直接修改目标文件。尤其是对eeprom数据的修改、调整更为方便实用。 本软件编写的目的是用来编辑存放于单片机 Flash 或 EEPROM 中的数据,支持 Intel Hex 格式以及 Motorola S 格式的数据文件,也可以编辑二进制的内存映射文件。数据的编辑可以通过常量定义的方式,也可以通过内存映射的方式进行。 同时可以在两种16进制格式文件之间相互转换。格式转换以行数据为单位,以确保转换前后数据不会改变。 另外提供十进制、十六进制转换器,转换结果可以作为普通显示或作为内存映射,作内存映射时可以选择多字节数据的存储方式。 二进制比较功能,通过不同工具生成的Hex文件可能因为格式而无法进行文本方式比较,本工具可以首先转换为二进制数据再进行比较,免去自行转换的麻烦。 单文件内/双文件间的块操作,包括复制、移动、交换、另存等等,方便实验数据提取、复制。
### 回答1: VC Hex文件格式解析是指对VC(Version Control)系统中的Hex文件进行解析和分析的过程。 首先,VC是一种用于版本控制和代码管理的工具,它采用二进制格式的Hex文件来存储源码、修改记录和版本信息等。Hex文件是一种十六进制形式的文本文件,可以通过特定的解析算法将其转换为可读的源代码或其他文件。 在解析VC Hex文件时,我们需要了解其基本结构和格式。Hex文件通常由多个记录(Record)组成,每个记录包含了不同的类型和数据内容。常见的记录类型包括:数据记录、扩展段地址记录、起始段地址记录和结束记录等。 数据记录包含了实际的源代码或其他数据信息,其格式包括起始地址、数据长度、数据内容和校验和等。扩展段地址记录用于扩展程序的地址空间,起始段地址记录指定程序的入口地址,结束记录表示文件结束。 在解析过程中,我们需要按照记录的格式和顺序读取Hex文件,并根据记录类型对数据进行处理。例如,对于数据记录,我们可以根据起始地址和数据长度将数据写入相应的内存空间或文件中。 解析VC Hex文件的目的是为了能够获取其中的源代码、版本信息或其他相关数据,以便进行版本对比、回滚或其他操作。通过解析Hex文件,我们可以还原出之前的代码状态或版本,并根据需要进行相应的操作。 总而言之,VC Hex文件格式解析是一项对VC系统中的Hex文件进行结构分析和数据提取的过程,通过解析该文件,我们可以获取其中的源代码和版本信息,并进行相应的版本管理和控制。 ### 回答2: VC Hex文件格式是一种常见的存储二进制数据的文件格式。它通常被用于将机器语言代码、固件、软件等以十六进制的形式存储在计算机中。 VC Hex文件格式解析的过程主要包括以下几个方面: 1. 文件结构:VC Hex文件由多行文本组成,每行包含一条记录。每条记录通常由一个冒号开始,后面跟着一系列十六进制数值,用于表示数据。记录的具体格式按照规定的标准进行编码。 2. 记录类型:VC Hex文件的记录有多种类型,包括数据记录、扩展段地址记录、起始段地址记录、起始线性地址记录等。根据记录类型的不同,记录中的数据和含义也会有所差异。 3. 数据内容:VC Hex文件中的数据记录包含机器语言指令、数据、校验和等。数据记录的具体内容由记录类型和记录长度决定,它们被以十六进制的形式表示。 4. 校验和:每条记录都包含一个校验和字段,用于验证记录的完整性和准确性。校验和一般为记录中所有数据的和的补码。 解析VC Hex文件时,可以通过逐行读取文件内容,并根据每行的格式和记录类型,提取出需要的数据和信息。根据记录类型的不同,可以按照规定的格式解析出相应的数据,如地址、校验和等。对于数据记录,可以将每个记录中的数据转换为二进制形式,并根据需要进行后续处理或使用。 总之,解析VC Hex文件格式需要了解文件结构、记录类型、数据内容和校验和等方面的知识。通过逐行解析文件内容,可以获得其中存储的数据和相关信息,进而进行后续处理和使用。 ### 回答3: VC Hex文件格式是一种用来描述微控制器程序存储的十六进制文件格式。它将程序的机器码以十六进制形式进行编码,并且以特定的格式进行排列和存储。 在VC Hex文件中,每一行都包含了一定数量的数据。这些数据通常表示机器指令、数据或其他相关信息。每一行的开头通常包含了该行的地址信息,用于标记数据所在的内存地址。而紧接着的数据则是该地址处的值。 VC Hex文件的地址通常是以16位或32位的形式表示的,这取决于所使用的微控制器架构。地址信息的具体格式也可能会有所不同,但通常都会包含一个地址字节数和一个地址校验和。 除了地址和数据之外,VC Hex文件还可能包含一些其他的特定指令,例如起始地址指令和结束地址指令。这些指令用于标记程序执行的起始地址和结束地址,以便于加载和执行程序。 解析一个VC Hex文件的过程通常涉及以下几个步骤: 1. 读取文件并逐行解析每个数据记录。 2. 提取地址信息和数据值,并进行必要的校验。 3. 根据地址信息将数据值存储到对应的内存地址中。 4. 根据特定指令解析起始地址和结束地址,以确定程序的入口点和结束点。 总的来说,VC Hex文件格式解析是将这些十六进制数据按照特定规则进行解析和存储的过程,以便于加载和执行微控制器的程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laocui1

你的鼓励是我创作的最大动了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值