在单片机编译中,我们经常使用hex文件进行烧录,那么hex文件到底是一个怎样的文件呢?我们简单的介绍一下:
先上图:这是我用Notepad++ 直接打开的一个32bit的单片机编译器编译的一个hex文件的部分,
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40S607-0.jpg)
文章插图
ASCII显示
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40UH4-1.jpg)
文章插图
十六进制显示
不难发现:HEX格式文件以行为单位,每行由“:”(16进制为:0x3a)开始,以回车键结束(16进制为:0x0d,0x0a) 。行内的数据都是由两个字符表示一个16进制字节,比如”08”就表示数0x08;”0a”,就表示0x0a 。对于16位的地址,则高位在前低位在后,比如地址0x010a,在HEX格式文件中就表示为字符串”010a” 。
我们把每一行称之为一个Record 。通常一个Record的格式如下:
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40SL9-2.jpg)
文章插图
- RECORD MARK (第1个字符)
如:
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40SL0-3.jpg)
文章插图
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40U615-4.jpg)
文章插图
- LOAD RECLEN (“:” 后的2个字符)
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40T948-5.jpg)
文章插图
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40Q061-6.jpg)
文章插图
0x08 :表示本行有8byte的数据 。
- OFFSET(LOAD RECLEN后的4个字符)
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40T391-7.jpg)
文章插图
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40S034-8.jpg)
文章插图
这里表示从0x0000地址开始存储8个数据,其中高位地址在前,低位地址在后 。
- RECTYP(OFFSET后2个字符)
00 ----数据记录
01 ----文件结束记录
02 ----扩展段地址记录
【HEX文件格式介绍】04 ----扩展线性地址记录
如:
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40SH5-9.jpg)
文章插图
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40T538-10.jpg)
文章插图
这里就是0x00即为数据记录 。
- INFO or DATA(RECTYP后的4个字符)
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40R096-11.jpg)
文章插图
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40Q5I-12.jpg)
文章插图
该处有16个字符,每2个字符表示一个byte,故此行有8个byte数据,这和前面的LOAD RECLEN所定义的数据长度是统一的 。
- CHKSUM(INFO or DATA后的2个字符)
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40R143-13.jpg)
文章插图
![HEX文件格式介绍](http://img.jiangsulong.com/220420/1J40V2J-14.jpg)
文章插图
校验和的算法为:计算0x8D前所有16进制码的累加和(不计进位),检验和 = 0x100 - 累加和
即:checksum = 0x100 - (0x08+0x01+0x5A+0x10) = 0x8D 。
每个HEX格式的最后一行都是固定为:(hex文件的末尾一行)
:00000001FF
01表示文件结束记录,FF为校验 。
推荐阅读
- 腾讯视频格式、qlv转mp4的教程
- 安卓手机文件解压用什么软件?
- 异步文件通道Java NIO你需要了解多少,来看看这篇文章
- 怎么转换视频格式为mp4?一分钟就学会!
- EXCEL快速提取文件夹内的文件名
- 让excel单元格颜色随日期自动变化,你会吗?用条件格式1分钟搞定
- Linux」简单认识认识ELF文件
- 如何挖掘Web目录文件泄漏和其它Web漏洞利用?
- 文件同步工具 SyncTime for mac
- 小白一键重装系统备份文件在哪