hex 格式介绍及转bin 格式的源程序 Intel HEX 文件是记录文本行的ASCII 文本文件,在Intel HEX 文件中,每一行是一个HEX 记录,由十六进制数组成的机器码或者数据常量
Intel HEX 文件经常被用于将程序或数据传输存储到ROM、EPROM,大多数编程器和模拟器使用Intel HEX 文件
很多编译器的支持生成HEX 格式的烧录文件,尤其是Keil c
但是编程器能够下载的往往是BIN 格式,因此 HEX 转BIN 是每个编程器都必须支持的功能
HEX 格式文件以行为单位,每行由“:”(0x 3a)开始,以回车键结束(0x 0d,0x 0a)
行内的数据都是由两个字符表示一个16 进制字节,比如”01”就表示数0x01;”0a”,就表示0x 0a
对于16 位的地址,则高位在前低位在后,比如地址0x 010a,在HEX 格式文件中就表示为字符串”010a”
下面为 HEX 文件中的一行: :10000000FF0462FF051EFF0A93FF0572FF0A93FFBC “:”表示一行的开始
“:”后的第 1,2 个字符“10”表示本行包含的数据的长度,这里就是0x 10 即 16 个
第 3,4,5,6 个字符“0000”表示数据存储的起始地址,这里表示从 0x 0000 地址开始存储16 个数据,其中高位地址在前,低位地址在后
第 7,8 个字符“00”表示数据的类型
该类型总共有以下几种: 00 ----数据记录 01 ----文件结束记录 02 ----扩展段地址记录 04 ----扩展线性地址记录 这里就是0x 00 即为普通数据记录
自后的32 个字符就是本行包含的数据,每两个字符表示一个字节数据,总共有16 个字节数据跟行首的记录的长度相一致
最后两个字符表示校验码
每个HEX 格式的最后一行都是固定为: :0