码迷,mamicode.com
首页 > 其他好文 > 详细

Intel HEX file结构

时间:2016-11-19 23:05:55      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:定义   style   类型   接下来   title   偏移地址   com   blog   ascii   

https://en.wikipedia.org/wiki/Intel_HEX

 

1, Intel Hex每行的组成

    开始标志+Byte数+地址+数据类型+数据+Checksum

2, 开始标志

    冒号:,ASCII码 0x3A

3, Byte数量

    1 Byte,实际有效数据的个数,即数据段的字节数。从1开始计数。

4, 地址

    2 Bytes,指示接下来的数据段数据存储的偏移地址。

    为什么是偏移地址呢?因为该地址段长度只有2 Bytes,假如存储区大小超过64KB,如果采用绝对地址,将有部分空间无法访问。

5, 数据类型

     技术分享

    简单解释:

    (1) 00 :16位寻址空间的数据数据;

    (2) 01:文件结束。此时数据长度应标记为00。

    (3) 02:扩展段地址。2 Bytes。

           为了访问 1MB 的空间,需要的地址长度为 220,而“开始地址”段只有2 Bytes,能访问的空间只有 (1~216)。为此,只需增加一个地址定义,协定该地址里面的值应该先乘以16再使用,如此,该地址能访问的空间即为:216 ~ (216 x 24 = 220)。

           当为此数据类型时,地址段的值应被忽略(通常标为0x00)。

    (4) 03:RSVP

    (5) 04:扩展线性地址。数据长度 2 Bytes。

          a) 为访问 4GB 地址而定义。4G = 232。该段表示高16位。

          b) 低16位由接下来的00数据类型定义。假如接下来没有00类型数据,默认高16位地址为0x0000。

          c) 该高位地址保持到下一个04类型数据为止。

    ( 6) 05:RSVP

6, 数据

7, checksum

     除开开始标志和Checksum本身的所有数据异或结果的补码。

Intel HEX file结构

标签:定义   style   类型   接下来   title   偏移地址   com   blog   ascii   

原文地址:http://www.cnblogs.com/freshair_cnblog/p/6081497.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!