单片机hex和bin文件的区别

发布者:bianzitong521最新更新时间:2018-11-20 来源: eefocus关键字:单片机  hex  bin文件 手机看文章 扫描二维码
随时随地手机看文章

ex文件是可以烧写到单片机中,被单片机执行的一种文件格式,生成Hex文件的方式由很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hex。


Hex文件如果用特殊的程序来查看(一般记事本就可以实现)。打开后可发现,真个文件以行为单位,每行以冒号开头,内容全部为16进制码。Hex文件可以按照如下的方式进行拆分来分析其中的内容:


例如:


:020000040000FA , 我把它看做 0x02 0x00 0x00 0x04 0x00 0x00 0xFA


第一个 0x02 为数据长度。


紧跟着后面的0x00 0x00 为地址。


再后面的0x04为数据类型,类型共分以下几类:


'00' Data Record


'01' End of File Record


'02' Extended Segment Address Record


'03' Start Segment Address Record


'04' Extended Linear Address Record


'05' Start Linear Address Record


然后,接着0x04后面的两个 0x00 0x00就是数据。最后一个0xFA是校验码。


HEX文件的每一行都是这样的格式:


Intel hex 由一条或多条记录组成,每条记录都由一个冒号“:”打头,其格式如下:


:CCAAAARR...ZZ


其中:


CC


本条记录中的数据字节数


AAAA


本条记录中的数据在存储区中的起始地址


RR


记录类型:


00 数据记录 (data record)


01 结束记录 (end record)


02 段记录 (paragraph record)


03 转移地址记录 (transfer address record)


...


数据域


ZZ


数据域校验和


Intel hex文件记录中的数字都是16进制格式,两个16进制数字代表一个字节。CC域是数据域中的实际字节数,地址、记录类型和校验和域没有计算在内。校验和是取记录中从数据字节计数域(CC)到数据域(...)最后一个字节的所有字节总和的2的补码。


而Bin文件是最纯粹的二进制机器代码,没有格式,或者说是"顺序格式"按assembly code顺序翻译成binary machine code.由于分析出来Hex文件中的数据域ASCII码表示的十六进制与二进制一一对应,而且我公司DSP又是16位的,以一个word为最小单位,所以四个十六进制ASCII码代表一条机器指令单位或者地址.借于上面分析,编写了工具代码.大体原理是用fscanf函数在每行的数据域读入四个ASCII码,以短整形(short int 16bit)形式储存,在把这个短整形变量顺序fwrite到文件流中去即可.


举一例说明:


表1


ORG 0000H


LJMP START


ORG 040H


START:


MOV SP,#5FH ;设堆栈


LOOP:


NOP


LJMP LOOP ;循环


END ;结束


表2


:03000000020040BB


:0700400075815F000200431F


表3


02 00 40 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF


FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF


FF FF FF FF FF FF FF FF FF FF FF FF 75 81 5F 00 02 00 43


表1为源程序,表2是汇编后得到的HEX文件,表3是由HEX文件转换成的目标文件,也就是最终写入EPROM的文件,它由编程器转换得到,也可以由HEXBIN一类的程序转换得到。学过手工汇编者应当不难找出表3与表1的一一对应关系,值得注意的是从02 00 40后开始的一长串‘FF’,直到75 81,这是由于伪指令:ORG 040H造成的结果。


关键字:单片机  hex  bin文件 引用地址:单片机hex和bin文件的区别

上一篇:单片机中的一些常见电路
下一篇:单片机C语言几种内存泄露总结

推荐阅读最新更新时间:2024-03-16 16:17

基于单片机的出租车计费器设计
  出租车计费器是出租车上必不可少的一种仪表,随着电子技术,特别是嵌入式应用技术的飞速发展,智能芯片越来越广的应用到了出租车计费器上。这使得出租车计费器能够精准的计算出行车里程及对应的价格,使乘客能够更直观明了的知道自己的乘车价格,而司机师傅也不用再靠人工计算来得出乘客的费用,避免了很多麻烦。本文以单片机STC89C51 为核心设计一款出租车计费器, 使能够实现里程及对应价格的显示,由于采用芯片的自动定时计数,所以能够准确的计算出总的行车里程并能转换成对应的价格来,这样能够避免出租车司机作弊的可能性,做到公平公正。   1 出租车计费器的设计要求与设计方案   1.1 出租车计费器设计要求   设计一个出租车自动计费器,计费
[单片机]
基于<font color='red'>单片机</font>的出租车计费器设计
可编程数字电位器在AVR单片机中的应用
1 引言    AVR 嵌入式单片机具有丰富的硬件、软件资源,其中的串行I2C接口能满足很多应用场合的要求,两个 AVR 单片机通过I2C总线直接连接就可实现单片机相互通信; AVR 单片机还可以和任何具有I2C总线接口的外设直接连接而无须其它硬件电路支持。而X9221系列可编程数字电位器在智能测试设备上应用非常广泛,通过I2C总线可以简单地构成单片机与各种外设之间乃至与计算机之间的通信,建立友好的人机界面联系。硬件设计简单、灵活,只需要将所有设备的SDA和SCL信号线分别并联在一起并加上拉电阻即可,有助于提高设备的自动化水平、可靠性、稳定性及电气装配的工艺性。 AVR 单片机和X9221系列可编程数字电位器都有内置的E2ROM
[单片机]
试论将μC/OS-II用于单片机教学
摘要:当前,大学中的“嵌入式系统与单片机应用”及类似课程的教学内容和实验正处在转型期,由单纯8位机转向8位、16位、32位并举;开发方式上,仿真器在逐步退出;嵌入式实时操作系统被引入教学。本文就相关课程内容与实验平台方案的设计提出一些看法,以引起同行的思考与讨论。 关键词:单片机 嵌入式 RTOS μC/OS 教学 培训 引 言 在2003年天津举行的“全国单片机及嵌入式系统学术年会”上,来自全国各地几十所大学的教师对单片机与嵌入式系统教学展开了热烈的讨论。这里,就我们的认识介绍如下,以达到抛砖引玉的目的。 1 单片机与嵌入式系统应用类课程的转型期   当前,单片机与嵌入式系统应用类课程正处在转型期。过去的20年中,
[应用]
iQOO8系列未来电竞旗舰机用芯海科技信号链MCU
8月17日,芯海科技微信公众号称,芯海科技信号链MCU助力iQOO8重磅发布。 据了解,iQOO8采用屏下双控压感方案,选用芯海科技的ForceTouch芯片来精准感知用户操控。芯海科技透露,ForceTouch2.0 CSA37F7x系列产品,相较ForceTouch1.0 CSA37F6x及仿品,在性能上全面升级。 数据显示,CSA37F7x采用全新的16位ADC,与ForceTouch 1.0产品相比,灵敏度提高4倍,测量时间缩短75%,可以更快更精准的感知用户操作。 压力触控有多种实现方式,传统的薄膜电阻技术精度和灵敏度高,但受限于材料成本和生产成本,一直难以普及。而ForceTouch2.0系列芯片中的CSA37F
[手机便携]
iQOO8系列未来电竞旗舰机用芯海科技信号链<font color='red'>MCU</font>
数字电源与模拟电源的区别
数字电源与模拟电源的区别主要集中在控制与通信部分。在简单易用、参数变更要求不多的应用场合,模拟电源产品更具优势,因为其应用的针对性可以通过硬件固化来实现,而在可控因素较多、实时反应速度更快、需要多个模拟系统电源管理的、复杂的高性能系统应用中,数字电源则具有优势。 此外,在复杂的多系统业务中,相对模拟电源,数字电源是通过软件编程来实现多方面的应用,其具备的可扩展性与重复使用性使用户可以方便更改工作参数,优化电源系统。通过实时过电流保护与管理,它还可以减少外围器件的数量。 数字电源有用DSP控制的,还有用MCU控制的。相对来讲,DSP控制的电源采用数字滤波方式,较MCU控制的电源更能满足复杂的电源需求、实时反应速度更快、电源稳压性能
[应用]
单片机C语言指针的指针
指针的指针 一个指针变量内部可以存储一个值,这个值是另外一个对象的地址,所以我们说一个指针变量可以指向一个普通变量,同样这个指针变量也有一个地址,也就是 说有一个东西可以指向这个指针变量,然后再通过这个指针变量指向这个对象。那么如何来指向这个指针变量呢?由于指针变量本身已经是一个指针了(右值),那 么我们这里就不能用一般的指针了,需要在指针上体现出来这些特点,我们需要定义指针的指针(二重指针)。 int *p1= int**p2=&p1; 综合以上的所有点,下面是我们常常看到一些匹配(也是经常出错的地方): int a ,b ,c,*d ; void fun1(int *p); void fun2(int (*p) );
[单片机]
<font color='red'>单片机</font>C语言指针的指针
飞思卡尔微控制器打造更安全更清洁的未来汽车
汽车电子是整个汽车工业中最年轻的一环,却是行业中最激动人心和充满挑战性的部分,更是带给整个汽车工业未来全新发展趋势的动力源泉。特别是对汽车行业的创新的重要性而言,电子技术是真正的挑战性环节。 虽然从整车的生产数量上,汽车工业在经济危机之后面临极大的挑战,但汽车电子行业却依然生机勃勃,一方面,整车用半导体产品的价值将从30美元逐步增加到150美元左右,另一方面,电动汽车和混合动力汽车的车用电子产品可能占整车的40%成本以上。 汽车电子一直是飞思卡尔的优势项目,几乎飞思卡尔大部分业务范围都涉及汽车电子市场,今年,飞思卡尔继续传递其通过迎合全球汽车市场更灵活、更安全、更清洁和更互联的趋势,力争在新兴市场(BRIC将占据未来全球30%
[汽车电子]
Silicon Labs推出基于Cortex-M0+的节能MCU
中国,北京 - 2013年10月10日 - 高性能模拟与混合信号IC领导厂商Silicon Labs(芯科实验室有限公司, NASDAQ: SLAB)今天宣布推出基于ARM® Cortex®-M0+处理器的业界最节能32位微控制器(MCU)。EFM32™ Zero Gecko MCU系列产品设计旨在为广泛的电池供电型应用达到最低系统功耗,例如便携式健康和健身产品、智能手表、运动跟踪器、智能电表、安全系统和无线传感器节点,以及由能源收集系统供电的无电池系统。新型的Zero Gecko系列产品是Energy Micro开拓性的EFM32 Gecko产品组合中的最新成员。该系列产品包括16种具有成本效益的MCU产品,为帮助物联网(I
[单片机]
Silicon Labs推出基于Cortex-M0+的节能<font color='red'>MCU</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved