解析单片机烧录的hex文件,玩了这么久,你知道长什么样子?

含有单片机的电子产品在量产的时候会用到.hex文件或者.bin。hex是十六进制的,包含地址信息和数据信息,而bin文件是二进制的,只有数据而不包含地址。任何文件都有一定的格式规范,hex文件同样具有完整的格式规范。今天和大家分享一下,hex是如何解析的。

1.hex文件解析

hex文件可以通过UltraEdit、Notepad++、记事本等工具打开,用Notepad++打开之后会看到如下数据内容。

单片机烧录用的hex文件,长什么样子?

使用Notepad++打开后会不同含义的数据其颜色不同。每行数据都会有一个冒号开始,后面的数据由:数据长度、地址、标识符、有效数据、校验数据等构成。以上图的第一行为例,进行解析:

第1个字节10,表示该行具有0x10个数据,即16个字节的数据;

第2、3个字节C000,表示该行的起始地址为0xC000;

第4个字节00,表示该行记录的是数据;

第5-20个字节,表示的是有效数据;

第21个字节73,表示前面数据的校验数据,校验方法:0x100-前面字节累加和

其中,第4个字节具有5种类型:00-05,含义如下:

字段含义00表示后面记录的是数据01表示文件结束02表示扩展段地址03表示开始段地址04表示扩展线性地址05表示开始线性地址

单片机的hex文件以00居多,都用来表示数据。hex文件的结束部分如下图所示。

单片机烧录用的hex文件,长什么样子?

最后一行的01表示文件结束了,最后的FF表示校验数据,由0x100-0x01=0xFF得来。

 

2.扩展地址

细心的同学可能发现了,上面的地址都是两个字节,范围从0x000-0xFFFF,如果地址是0x17FFFF该怎么办呢?这就要用到扩展字段了,举例如下:

单片机烧录用的hex文件,长什么样子?

第一行中&#x

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
WinHex 是一款以通用的 16 进制编辑器为核心,专门用来对付计算机取证、数据恢复、低级数据处理、以及 IT 安全性、各种日常紧急情况的高级工具: 用来检查和修复各种文件、恢复删除文件、硬盘损坏、数码相机卡损坏造成的数据丢失等。得到 ZDNet Software Library 五星级最高评价,拥有强大的系统效用。功能包括 (依照授权类型): - 硬盘, 软盘, CD-ROM 和 DVD, ZIP, Smart Media, Compact Flash, 等磁盘编辑器... - 支持 FAT, NTFS, Ext2/3, ReiserFS, Reiser4, UFS, CDFS, UDF 文件系统 - 支持对磁盘阵列 RAID 系统和动态磁盘的重组、分析和数据恢复 - 多种数据恢复技术 - 可分析 RAW 格式原始数据镜像文件中的完整目录结构,支持分段保存的镜像文件 - 数据解释器, 已知 20 种数据类型 - 使用模板编辑数据结构 (例如: 修复分区表/引导扇区) - 连接和分割、以奇数偶数字节或字的方式合并、分解文件 - 分析和比较文件 - 搜索和替换功能尤其灵活 - 磁盘克隆 (可在 DOS 环境下使用 X-Ways Replica) - 驱动器镜像和备份 (可选压缩或分割成 650 MB 的档案) - 程序接口 (API) 和脚本 - 256 位 AES 加密, 校验和, CRC32, 哈希算法 (MD5, SHA-1, ...) - 数据擦除功能,可彻底清除存储介质中残留数据 - 可导入剪贴板所有格式数据, 包括 ASCII、16 进制数据 - 可进行 2 进制、16 进制 ASCII, Intel 16 进制, 和 Motorola S 转换 - 字符集: ANSI ASCII, IBM ASCII, EBCDIC, (Unicode) - 立即窗口切换、打印、生成随机数字 - 支持打开大于 4 GB 的文件,非常快速,容易使用。 - 广泛的联机帮助 [隐藏介绍]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

国产MCU

感谢客官的认可,欢迎一起交流

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值