Intel hex文件解析 附代码

  • Intel HEX文件是记录文本行的ASCII文本文件,在Intel HEX文件中,每一行是一个HEX记录,由十六进制数组成的机器码或者数据常量。
  • Intel HEX文件经常被用于将程序或数据传输存储到ROM、EPROM,大多数编程器和模拟器使用Intel HEX文件。
  • 每一行由冒号开始,由回车换行符结束。
  • 每个记录包含6个域, 它们按以下格式排列:

  1. :(冒号)每个Intel HEX 记录 都由冒 号开头 ;
  2. LL 是 数据长度域, 它 代表记录当中数据字节 (D...D) 的数量 ;
  3. aaaa 是地址域, 它代表 记录当 中 数据的起始地址;
  4. TT是代表HEX 记录类型的域 , 它可能是以下数据当中的一个:
  5. D...D 是数据域 , 它代表一个字节的数据. 一个记录可以有许多数据字节。记录当中数据字节的数量必须和数据长度域(ll)中指定的数字相符。
  6. CC是校验和域 , 它表示这个记录的校验和,校验和的计算是通过将记录当中所有十六进制编码数字对的值相加,以256 为模进行以下补足。

其中4 TT记录类型有以下几种:

00 – 数据记录(Data Record)        
01 – 文件结束记录(End of FileRecord)        
02 – 扩展段地址记录(ExtendedSegment Address Record)        
03 – 开始段地址记录(Start Segment Address Record)        
04 – 扩展线性地址记录(Extended Linear Address Record)        
05 – 开始线性地址记录(Extended Segment Address Record)

校验和= 0x100 - 累加和:

比如第一行的最后校验和0xF9 = 0x100-0x02-0x04-0x01

代码点这里

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

苏克贝塔

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值