电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

hex格式介绍及转bin格式的源程序

hex格式介绍及转bin格式的源程序_第1页
1/11
hex格式介绍及转bin格式的源程序_第2页
2/11
hex格式介绍及转bin格式的源程序_第3页
3/11
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 格式的最后一行都是固定为: :00000001 FF 以上的信息其实就足够进行HEX 转 BIN 格式的程序的编写。首先我们只处理数据类型为 0x00 及0x01的情况。0x02 表示对应的存储地址超过了64K,由于我的编程器只针对64K 以下的单片机,因此在次不处理,0x04 也是如此。 我的编程思路是从文件中一个一个读出字符,根据“:”判断一行的开始,然后每两个字符转换成一个字节,并解释其对应的意义。然后将数据从该行中剥离出来保存到缓冲区中,并最终输出到文件中。 具体程序如下,该程序在VC2005 下采用控制台项目编译,需要在release 下编译,在 debug 模式中会提示一个dll 文件无法找到,这可能是VC 自身的错误。 // hextobin.cpp : 定义控制台应用程序的入口点。 // 1#include "stdafx.h" ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

hex格式介绍及转bin格式的源程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部