stm32 str转hex_Hex格式文件的解析及单片机中代码实现

本文探讨了STM32的IAP升级中使用Hex格式文件的原因,并详细介绍了Hex文件的格式,包括行数据的结构和校验和计算。接着,提供了STM32中解析Hex文件的代码实现,通过定义数据结构和解析函数,实现文件转换以支持IAP升级。
摘要由CSDN通过智能技术生成

前言

最近在研究STM32的IAP升级功能,发现大多数的IAP升级时的文件格式都是BIN文件,可以直接烧录进FLASH中,但是BIN文件中不含FLASH的地址,这就造成了烧写程序存在一定的不严谨性,可能烧写出错后,不知道在哪块烧写的地址出错,只能全部重新烧写,为此研究了一下IAP升级时使用hex格式文件,hex格式文件每行数据都包含烧写的地址信息,可确保出错后可以方便定位到哪一段地址烧写错误。

hex文件的格式

1b9cb3969c8c7ec86e1445d18e726ecf.png

hex文件部分

hex格式文件每行都必须以‘:’开头,以‘’换行。

如图,其中第一行:020000040800F2中,可以看做是0x02 0x00 0x00 0x04 0x08 0x00 0xf2,其前四个字节和最后一个字节有特殊含义。中间为数据

第一个0x02表示该行数据中有两个数据

第二个,第三个0x00 0x00表示本行数据的起始地址位,即起始地址为0x0000

第四个字节有0x00 0x01 0x02 0x03 0x04 0x05,分别有以下含义:

'00'Data Rrecord:用来记录数据࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值