2017.11.06 hex文件格式分析

版权声明:本文为博主原创文章,未经博主允许不得转载。文章只为项目记录,不能保证观点正确。 https://blog.csdn.net/qq_29486527/article/details/78460346

例如HEX文件为
这里写图片描述

这里写图片描述

数据类型

‘00’ Data Rrecord:用来记录数据,HEX文件的大部分记录都是数据记录

‘01’ End of File Record:用来标识文件结束,放在文件的最后,标识HEX文件的结尾

‘02’ Extended Segment Address Record:用来标识扩展段地址的记录

‘03’ Start Segment Address Record:开始段地址记录

‘04’ Extended Linear Address Record:用来标识扩展线性地址的记录

‘05’ Start Linear Address Record:开始线性地址记录

校验码

以020000040003F7为例子

具体算法为 0x100-((0x02+0x00+0x00+0x04+0x00+0x03)%256)= 0xF7

校验代码如下:
校验成功 return 1
失败 return 0

char AnalyseHEX(char hex[],int len)
{
  unsigned char i=0;
    int cc=0;
    cc=0;
    for(i=0;i<=(len-2);i++)
    {
        cc+=hex[i];
    }
    cc=cc%256;
    cc=0x100-cc;
    if((hex[len-1]==cc)||(cc==0x100))
    {
        return 1;
    }
    else 
    {
        return 0;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_29486527/article/details/78460346