历史上的今天
返回首页

历史上的今天

今天是:2025年01月09日(星期四)

正在发生

2019年01月09日 | STM32学习笔记一一HEX文件和BIN文件格式

2019-01-09 来源:eefocus

1. 引言

今天看串口的 IAP ,平时我们通过 JTAG 等工具下载的都是 HEX 文件,都没有思考一下 HEX 的文件组成。而串口 IAP 下载的是 BIN 文件,刚好在这里区分学习一下。


我们平时烧写 HEX 文件是不需要设置地址信息的,因为已经包含在文件里面,而使用 BIN 烧写,需要在程序中指定地址。


在这里插入图片描述


2. 简述

Intel hex 文件是记录文本行的 ASCII 文本文件,在 Intel HEX 文件中,每一行是一个 HEX 记录,由十六进制数组成的机器码或者数据常量。Intel HEX 文件经常被用于将程序或数据传输存储到 ROM、EPROM,大多数编程器和模拟器使用Intel HEX文件。


2.1 HEX文件

HEX 文件是包括地址信息的,而BIN文件格式只包括了数据本身。在烧写或下载HEX文件的时候,一般都不需要用户指定地址,因为HEX文件内部的信息已经包括了地址。而烧写BIN文件的时候,用户是一定需要指定地址信息的。


2.2 BIN文件

对二进制文件而言,其实没有”格式”。文件只是包括了纯粹的二进制数据。


2.3 HEX文件格式

HEX文件都是由记录(RECORD)组成的。在HEX文件里面,每一行代表一个记录。记录的基本格式为:


在这里插入图片描述


RECTYP类型:


在这里插入图片描述


eg:

在这里插入图片描述


第一条:

RECLEN:02;OFFSET:0000;RECTYP:04;INFO or DATA:0000;CHKUSM:FA


第二条:

RECLEN:10;OFFSET:0000;RECTYP:00;INFO or DATA:982100203501000021920000A5920000;CHKUSM:F7


以此类推


在这里插入图片描述


最后一条,表示文件末尾::00000001FF


2.5 BIN文件格式


在这里插入图片描述


可以看到,BIN文件的数据与 HEX 格式数据的数据段是一一对应的。


2.6 HEX与BIN文件的大小

HEX 文件是用 ASCII 来表示二进制的数值。

例如:一般 8BIT 的二进制数值0x3F,用ASCII来表示就需要分别表示字符’3’ 和字符’F’,每个字符需要一个BYTE,所以HEX文件需要 > 2倍的空间。


对一个BIN文件而言,文件的大小就是文件包括的数据的实际大小。而对HEX文件而言,看到的文件大小并不是实际的数据的大小:一是因为HEX文件是用ASCII来表示数据,二是因为HEX文件本身还包括别的附加信息。


2.7 校验和计算

计算从(0x3a–":")以后的所有各字节的和模256的余。即各字节二进制算术和,不计超过256的溢出值,然后用0x100减去这个算数累加和,得出的值就是此行校验码。


eg:04000005000000C92E

0x100-(04+00+00+05+00+00+00+C9) = 2E


推荐阅读

史海拾趣

HOPERF公司的发展小趣事

成立于1998年的HOPERF,最初是一家专注于无线射频技术的小型创业公司。在那个通信技术日新月异的时代,公司创始人凭借敏锐的市场洞察力和对技术的执着追求,带领团队开始了自主研发之路。初期,HOPERF在无线射频领域不断突破,成功研发出多款具有自主知识产权的射频芯片,为公司的后续发展奠定了坚实的基础。这些技术创新不仅提升了产品的性能,还大大降低了成本,使得HOPERF在竞争激烈的市场中逐渐站稳脚跟。

迪一电子公司的发展小趣事

随着数字化和智能化技术的不断发展,迪一电子公司意识到必须跟上时代的步伐。于是,公司开始推进数字化转型和智能化生产。通过引入先进的生产设备和信息系统,优化生产流程,提高生产效率。同时,公司还注重人才培养和引进,建立了一支高素质的技术和管理团队。这些努力使迪一电子在数字化和智能化方面取得了显著成果,提高了公司的竞争力和市场地位。

CYAN公司的发展小趣事

随着5G技术的兴起,CYAN敏锐地捕捉到了市场的变化。公司投入大量研发资源,成功开发出一款基于5G技术的高性能网络路由器。这款路由器不仅具有超高的数据传输速度和稳定性,还具备智能管理和安全保护功能,满足了市场对高性能网络设备的需求。

Bals Elektrotechnik GmbH & Co KG公司的发展小趣事

在1948年,Günter Bals在完成了建筑公司的学徒实习后,决定创立自己的运输公司。他凭借自己的勤奋和才智,很快建立起了一支由14辆卡车组成的运输队伍,并在德国本地开展货运代理业务。这一阶段的创业经历不仅锻炼了Bals的商业头脑,也为他日后在电子行业的发展积累了宝贵的资金和经验。

爱普特半导体(APTSEMI)公司的发展小趣事

在全球供应链受到冲击、芯片告急的背景下,爱普特半导体始终坚持纯国产化发展理念。公司从管理层到核心研发人员,都具有深厚的半导体从业经验,无需借助任何海外团队支持,就能实现技术攻关和市场把控。这种全国产化的优势使得爱普特在面对外部风险时能够保持稳健的发展态势,也为公司的长远发展奠定了坚实基础。

Chiefdom Electronic Co Ltd公司的发展小趣事

在电子行业的激烈竞争中,Chiefdom Electronic Co Ltd凭借一项革命性的芯片技术,成功打破了市场的僵局。公司投入巨资研发,历经数年努力,终于推出了具有高效能、低功耗特点的芯片产品。这一技术的推出,不仅为公司在智能手机、平板电脑等市场赢得了大量客户,还使得公司在全球芯片市场占据了重要地位。随着技术的不断优化和升级,Chiefdom Electronic Co Ltd逐渐成为了行业内的技术领军者。

问答坊 | AI 解惑

一种提高无线局域网传输效率的技术

摘要:随着信息技术的快速发展,无线网络技术的应用越来越广泛,但是无线网络传输的效率一直比较低。针对这 种情况提出了一种提高无线局域网传输效率的技术。先在原理上讨论了使用包融合技术在无线局域网中使用的可 行性,然后通过在NS2 下的模拟 ...…

查看全部问答>

PIC16F73的AD结果存储器只有一个?

只有ADRES? 877好像有ADRESL,ADRESH?…

查看全部问答>

使用sqlce.

现在设备的操作系统升级到了windows   ce   5.0.程序在新的操作系统上运行,提示错误“找不到程序集   system.data.sqlce   version=1.0.50000” ?…

查看全部问答>

新手求助

大家好,本人大二,学习了模电和单片机.这个学期想参加电子设计比赛,初赛题要做一个基于fpga的频率计。我已经基本上了解了fpga的含义,但还是有一些问题想请教: 1.fpga的开发板价位从几十到几万…我看很多都是为嵌入式系统做的.如果只是要做频率 ...…

查看全部问答>

汇编高手乱入 关于十进制指令

看指令表有关与十进制指令 DADD.B 将十进制的进位位和源操作数加至目的操作数 语法 DADD.B src, dst 操作 src + dst + C -> dst (十进制) 有点不理解,大侠,斑竹指点 例如: CLRC ;复位进位位 CLR R5 DADD.B #99, R5 那 ...…

查看全部问答>

TL494的内部两个末级输出三极管集电极的最高耐压是多少啊

      我用494做降压电路,要输入整流以后80V到TL494的内部两个末级输出三极管集电极,不知道TL494的内部两个末级输出三极管集电极的最高耐压是多少啊 ?能不能承受的了 ,找资料也没有看到,帮忙啊!     &nb ...…

查看全部问答>

求助

I/O模拟I2C,假设P2.1接SDA,那么发送过来的8位数据放在什么地方?是P2IN吗?若是的话,8位数据是同时放在P2IN里吗(最高位在P2.7,最低位在P2.0)?但是,用户手册上说“Each bit in each PxIN register reflects the value of the input signal at t ...…

查看全部问答>

CCS5.2中C程序单步过程调用汇编子程序时,反汇编一片空白

点SUSPEND后,可以看到反汇编,也可以继续单步。这是怎么回事?…

查看全部问答>

舵机程序

replyreload += \',\' + 1372493;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>