一个HEX文件由多条记录组成,每条记录由五个部分组成":IIaaaatt[dd...]cc"
":":每条记录的开头都使用冒号表示
II :以十六进制表示这条记录的主体数据区的长度(即后面[dd...])的长度
aaaa:表示这条记录中的内容应存放到FLASH中的起始位置
tt:表示这条记录的类型,它包含中的各种类型,如下
00 数据记录
01 本文件结束记录
02 扩展地址记录
04 扩展线性地址记录(表示后面的记录按这个地址递增)例如020000040800F2,其中跟随在04后面的0800表示地址的高16位,与前面的0000结合在一起,表示要扩展的线性地址为“0x0800 0000”
05 表示一个线性地址记录的起始(只适用于ARM)
dd:表示一个字节的数据,一条记录中可以有多个字节数据,II区表示他有多少个字节的记录
cc:表示本条记录的校验和,他是前面所有的16进制数据(除冒号外,两个为一组)的和对256取模运算的结果的补码,比如020000040800F2,他的值为(0x02+0x00+0x00+0x04+0x08+0x00)%256的值再取补码