专栏中心

EEPW首页 > 专栏 > HEX转换bin心得

HEX转换bin心得

发布人:0750long 时间:2009-07-10 来源:工程师 发布文章
HEX转换bin心得

 

近来写C8051 Boot代码,由于下载数据需要使用bin文件, 但是keil目前只能生成hex的格式,无奈之下上网找了半天,可没有方便的,无奈之下只能自己写一个了.
 首先需要了解以下HEX的文件信息:
  Intel HEX文件是记录文本行的ASCII文本文件,在Intel HEX文件中,每一行是一个HEX记录,由十六进制数组成的机器码或者数据常量。Intel HEX文件经常被用

于将程序或数据传输存储到ROM、EPROM,大多数编程器和模拟器使用Intel HEX文件。
  HEX格式文件以行为单位,每行由":"(0x3A)开始,以回车键结束(0x0D,0x0A)。行内的数据都是由两个字符表示一个16进制字节,比如"01"就表示数0x01;"0A"就

表示0x0A。对于16位的地址, 则高位在前低位在后, 比如地址0x010A,在HEX格式文件中就表示为字符串"010a". 下面为HEX文件中的一行:
 :10000000FF0462FF051EFF0A93FF0572FF0A93FFBC
 : 号表示一行的开始
 : 后的第1, 2个字符表示本行包含的数据的长度,这里就是0x10即16个.
 : 后的第3, 4, 5, 6个字符表示数据存储的起始地址,这里表示从0x0000地址开始存储16个数据,其中高位地址在前,低位地址在后。
 : 后的第7, 8个字符表示数据的类型
  00 ----数据记录       
  01 ----文件结束记录
  02 ----扩展段地址记录
  04 ----扩展线性地址记录

 这里就是0x00即为普通数据记录。
 自后的32个字符就是本行包含的数据,每两个字符表示一个字节数据,总共有16个字节数据跟行首的记录的长度相一致。
 最后两个字符表示校验码。
 
 每个HEX格式的最后一行都是固定为:
 :00000001FF

 以上的信息其实就足够进行HEX转BIN格式的程序的编写。
 我只处理数据类型为0x00及0x01的情况。0x02, 0x04表示对应的存储地址超过了64K,我没有用到.

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

使用LabVIEW构建简易数据采集系统

视频 2009-07-17

三元锂电池被车企边缘化 多位电池大厂人士透露原因

马斯克大裁员后,SpaceX协助改造美国空中交管系统

Robust Control

今天这个90后火了 开会和任正非马云雷军坐第一排!

鲁棒控制理论与应用

iPhone SE 4全球首发!曝苹果自研5G基带弱于高通:不支持5G毫米波

决战希腊:微软“创新杯”2009实况-——软件设计和嵌入式开发项目组决赛4

视频 2009-07-08

周克敏的《鲁棒与最优控制》第一版

Altera: 采用全系列40-nm收发器FPGA和ASIC实现创新

视频 2009-07-13

红帽CTO Chris Wright:关于开源AI,红帽的观点在这里

韩国宣布全部暂停DeepSeek下载:我国回应!

年度芯片风云榜,这些芯片最赚钱

1月新能源汽车销量同比激增29.4%

三星、SK海力士计划停用中国EDA软件!

EDA/PCB 2025-02-18

OpenAI出走元老再融资,未发产品估值已飙升至300亿美元

数据采集技术第一讲:DAQ基础知识简介

视频 2009-07-17

决战希腊:微软“创新杯”2009实况-——软件设计和嵌入式开发项目组决赛3

视频 2009-07-08

Linear Matrix Inequalities in System and Control Theory

鲁棒控制系统 课件

更多 培训课堂
更多 焦点
更多 视频

技术专区