Intelhex格式含义
Intel HEX file(文件名.hex)是具有约定格式的ASCII文本文件。文件中每一行包含一个HEX 记录(record)。记录由十六进制数组成,这些数字代表机器指令码或常量。Intel HEX files用来向ROM中传递代码和数据,即它和Bin文件类似,指导下载程序或仿真器将指令码和数据下载到ROM存储器特定的位置上。
Intel HEX file可以包含任意多行记录(record),每个record主要由5个部分(域)组成,每部分至少包含两个十六进制字符,即一个字节(8位),其具体形式为“ :]cc
其中:
:”表示record的开始
ll”表示record中数据位(dd)的长度(几个字节)
aaaa”表示record中的数据存储起始地址
tt”表示record类型,可以为00(数据record),01(文件结束record),02(扩展段地址re
cord),04(扩展线性地址record
dd”表示record数据的一位,一个record可能包含多个数据字节,数据字节的数量必须与ll中指定的相一致
cc”表示record的校验域,
下面给出一个实例
:10008000AF5F67F0602703E0322CFA92007780C361
:1000900089001C6B7EA7CA9200FE10D2AA00477D81
:0B00A00080FA92006F3600C3A00076CB
:00000001FF
第一行,":"符号表明记录的开始. 后面的两个字符表明记录的长度,这里是10h. 后面的四个字
符给出调入的地址,这里是0080h. 后面的两个字符表明记录的类型;
0 数据记录 1 记录文件结束 2 扩展段地址记录 3 开始段地址记录 4 扩展线性地址记录 5
开始线性地址记录
后面则是真正的数据记录, 最后两位是校验和检查,它加上前面所有的数据和为0.
最后一行特殊,总是写成这个样子.
扩展Intel Hex的格式(最大1M): 由于普通的IntelHex记录文件只能记录64K的地址范围,
所以大于64K的地址数据要靠扩展Intel Hex格式的文件来记录.对于扩展形式Hex文件,在每
一个64K段的开始加上扩展的段地址规定,下面的数据地址均在这个段内,除非出现新的段地址
定义.
一个段地址 定义的格式如下:
起始符 长度 起始地址 扩展段标示 扩展段序号 无用 累加和
: 02 0000 02 3000 EC
段地址的标识符是第四组数据02,表示扩展地址段的定义,再后面的以为HEX数表示段的数目,
上面的定义为3,表示段地址是3,所以下面的数据地址是3 + XX(XX64K段内的地址)
目标文件.HEX的各部分具体含义


.HEXIntel的目标文件格式。
.HEX是结果输出的目标文件格式,至少IntelFranklin是采用“Intel HEX格式HEX格式不难辨认,它的格式是文件中的所有字节是可打印的ASCII字符。其它更紧凑格式“BIN”以单一字节表示每个程序代码字节,这样文件中有许多非打印的ASCII字符代码。HEX文件中的冒号(:)标示一个新记录,接着的两个字符是以实际数据字节数表示的记录块的长度。典型的10代表一个16个数据字节的块。再下面的四个字符是十六进制数用于表示块中数据的起始地址。再下面的两个字符是块的类型码——00表示是可重定位数据。01是文件的结
束标志。接下去是实际数据,每个十六进制的数字对表示一个字节,16字节数据以32record是什么意思中文个字符表示。最后两位数字表示校验和,很容易与数据混淆。当所有的两字符十六进制值与校验和加起来以256取模,整个结果为0

:100000007508007581098508091200160508E508BC
.
.
.
:00000001FF
第一行:长度为16个字节的数据块,起绐地址0000,校验和BC
结尾行:长度为0字节的结束行,校验和FF
Hex含义
Intel HEX文件是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。在Intel HEX文件中,每一行包含一个HEX记录。这些记录由对应机器语言码和/或常量数据的十六
进制编码数字组成。Intel HEX文件通常用于传输将被存于ROM或者EPROM中的程序和数据。大多数EPROM编程器或模拟器使用Intel HEX文件。
HEX格式内容的含义
HEX文件格式是我们经常遇到的一种文件格式,因为几乎所有的编程烧录文件都为HEX格式。
首先,HEX文件中是包含了地址信息的。这和BIN文件不同,BIN文件中只包含了数据信息。所以我们在烧写或者下载HEX文件的时候,一般不需要我们指定地址,但是在烧写BIN文件的时候,用户是一定要指定地址信息的。
二、HEX文件都是由记录组成的。它的每一行都是一个记录来的。它是由任意数量的十六进制数组成。每个记录包含五个域,它们以以下格式排列的:
aabbbbcc[dd]ee
上面每一组不同的字母代表不同的一个域,每个字母代表一个十六进制的数字,每一个域
至少由两个十六进制编码数字组成,每两个十六进制编码数字组成一个字节。具体描述如下:
1、 每个HEX记录都由冒号开头;
2 aa表示这个记录中的数据长度域,它代表记录当中数据字节[dd]的字节数量。
3 bbbb是地址域,它代表记录当中数据的起始地址。
4 cc 是代表HEX记录类型的域,它可能是以下数据当中的一个:
00 – 数据记录
01 – 文件结束记录
02 – 扩展段地址记录
04 – 扩展线性地址记录
5 dd 是数据域,它代表一个字节的数据,一个记录可以有许多数据字节。记录当中数据字节的数量必须和数据长度域(aa)中指定的数字相符。
6 ee 是校验和域,它表示这个记录的校验和。校验和的计算是通过将记录当中所有十六进制编码数字对的值相加,以256为模进行以下补足。
因为这里总是提到Bin,所以就顺便查了一下
二进制文件,其用途依系统或应用而定
  也就是说,一般来讲是机器代码,汇编语言编译后的结果,(DOS下汇编语言编译后与文件相类似),用debugWINHEXU_EDIT等软件打开(通常不一定能看得懂是些什么除非精通汇编语言)
  所有的文件, 无论后缀名是什么, 一律分为两种格式. text binary.
  一种文件格式binary的缩写。一个后缀名为.bin的文件, 只是想表明它是binary格式.,但并不表明它与某种应用程序有必然的联系性.
  比如虚拟光驱文件常用.bin作为后缀,但并不意味着所有.bin文件都是虚拟光驱文件。
  Linux下安装BIN文件的方法:
  1.先赋予权限: chmod 777 *.bin
  2.开始安装: ./*.bin (注意:在前面加上了两个字符)
  好了 剩下的就和Windows一样了
  XP下运行BIN文件的方法:
  1、首先用notepad(记事本)打开后缀名为CUE的文件,其内有后缀名为BIN的文件的文件名;
  2、然后将后缀名为BIN文件的文件名更改成CUE文件中指名的文件名;
  3、下载Daemon Tools(虚拟光驱)安装,即可打开。
  4、下载 WinMount 安装,即可打开。
  虚拟光盘文件常用.bin作为后缀, 但并不意味着所有.bin文件都是虚拟光盘.
  如果你的daemon无法正常安装它. 说明它很可能不是虚拟光盘.
  另外在软件的安装后文件夹中大部分软件或服务器软件都有个 bin 文件夹
  因为 bin (binary)其中文意思既是:二进制
  里面存放的一般是可执行的二进制文件,所以我们通常使用较大型的软件时都会发现有这个名称的文件夹,
  BIN文件还有一种最可能的是步步高之类学习机的学习文件或者是点读文件,这类文件只有在制定的硬件或者条件下运行,其他一切方法一概都不能打开或者运行改文件。
  此外,在linux平台下,其支持多分区结构,bin就是其中之一。
  bin linux系统分区中表示存放标准系统实用程序;
  sbin 存放标准系统管理文件;
  tmp 存放临时文件。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。