什么是Intel Hex文件

Intel HEX文件时遵循Intel HEX文件格式的ASCII文本文件。在Intel HEX文件的每一行都包含了 一个HEX记录。这些记录是由一些代表机器语言代码和常量的16进制数据组成的。Intel HEX文件常用来传输要存储在ROM 或者 EPROM中的程序和数据。大部分的EPROM编程器能使用Intel HEX文件。

Intel HEX文件组成

Intel HEX由任意数量的十六进制记录组成。每个记录包含5个域,它们按以下格式排列:

Start Code 每个Intel HEX记录都由冒号开头。

Byte count 是数据长度域,它代表记录当中数据字节的数量。

Address 是地址域,它代表记录当中数据的起始地址。

Record type是代表HEX记录类型的域,它可能是以下数据当中的一个:

00-数据记录

01-文件结束记录

02-扩展段地址记录

03-开始段地址记录

04-扩展线性地址记录

05-开始线性地址记录

Data 是数据域,一个记录可以有许多数据字节。记录当中数据字节的数量必须和数据长度域中指定的数字相符。

Checksum是校验和域,它表示这个记录的校验和。校验和的计算是通过将记录当中所有十六进制编码数字对的值相加,以256为模进行以下补足。

完整的hex文件一般有头行,数据行,结束行。

举个例子:

:020000042A00D0
:10000000D1DC4B843410D7730D000000FFFFFFFFDD
:10001000FFFFFFFF500000005000002AD8CB000077

:040000052A000000CD
:00000001FF

第一行(头行):

1) 02代表数据域长度为0x02,即2A 00两个字节都为数据域

2) 0000代表地址,对于扩展线性地址而言,这个值一直为0000

3) 04代表扩展线性地址

4) 2A 00代表基址值为0x2A 00

5) D0代表校验值

当扩展线性地址被读取时,扩展线性地址值将会被保存,并且作用于后面从intel hex文件读取的子记录,同时扩展线性地址将一直发挥作用直到下一次扩展性线性地址读取。

第二行(数据行):

1) 10代表数据域长度为0x10,即D1 DC 4B 84 34 10 D7 73 0D 00 00 00 FF FF FF FF 16个字节都为数据域

2) 0000代表地址偏移为0000

3) 00代表数据域

4) D1 DC 4B 84 34 10 D7 73 0D 00 00 00 FF FF FF FF 代表数据值

5) 77代表校验值

绝对地址记录是扩展线性基址加上地址偏移所决定的,这第二行的数据绝对地址计算如下:

0000                                                地址偏移

2A00 扩展线性地址

-------------------

2A00 0000 绝对地址

倒数第二行(最后的数据行):

1) 04代表数据域长度为0x04,即2A 00 00 00 4个字节都为数据域

2) 0000代表地址偏移为0000

3) 05代表开始线性地址并且后面才是真正数据记录。而真正的数据记录个人理解为后面读取的mbn数据。

4) 2A 00 00 00 代表真正数据记录的基址

5) CD代表校验值

最后行(结束行):

1) 00代表数据域长度为0

2) 0000代表地址将放入到内存的位置

3) 01代表文件结束

4)FF校验值(01h + NOT(00h + 00h + 00h +01h))

Intel Hex概述相关推荐

  1. Intel Hex格式说明

    1.什么是Intel Hex文件 Intel HEX文件时遵循Intel HEX文件格式的ASCII文本文件.在Intel HEX文件的每一行都包含了 一个HEX记录.这些记录是由一些代表机器语言代码 ...

  2. hex文件matlab处理,基于MATLAB生成Intel HEX文件

    %生成Intel Hex file的MATLAB源程序 %see also http://www.matlabsky.com %2008.12.6 % % Intel HEX文件是由一行行符合Inte ...

  3. Intel HEX文件解析

    Hex文件的INTEL格式:这是Intel公司提出的按地址排列的数据信息,数据宽度为字节, 所有数据使用16进制数字表示. 这是一个例子: :10008000AF5F67F0602703E0322CF ...

  4. Intel Hex 文件格式

    简介 这种文件格式一般是以hex为后缀名,在嵌入式MCU程序开发中,经常编译链接后生成一个这样文件,然后将这个文件烧写到MCU的ROM中. 所以,这个是开发工程的输出文件类型的一种. 发明这种文件格式 ...

  5. Intel HEX介绍

    来源: http://baike.baidu.com/view/1229888.htm Intel HEX介绍 记录格式 Intel HEX由任意数量的十六进制记录组成.每个记录包含5个域,它们按以下 ...

  6. 【嵌入式烧录/刷写文件】-2.1-详解Intel Hex格式文件

    目录 1 什么是Intel Hex 2 Intel Hex的格式 2.1 Intel Hex的Record结构 2.1.1 "Record type记录类型"的说明 2.1.2 & ...

  7. 80C51和ARM的Intel hex解析

    更改说明 版本号 日期 作者 描述 1.0 2020-11-20 靴子丢了的猫 第一个版本 1.1 2020-11-21 靴子丢了的猫 添加ARM汇编和intel hex对应关系 创建开发环境得到汇编 ...

  8. 关于intel 32 hex文件格式以及hex2rom.sed

    用ADS做出的memory,一般都弄成intel 32 hex的格式的,但是和用的mem的ram或者是rom格式都是有差别的.所以就要从i32格式转化成为满足需要的readmemh文件. 首先,先了解 ...

  9. 【转】hex和bin文件格式的区别

    hex和bin文件格式的区别 Intel HEX文件是记录文本行的ASCII文本文件,在Intel HEX文件中,每一行是一个HEX记录,由十六进制数组成的机器码或者数据常量.Intel HEX文件经 ...

最新文章

  1. html5 点击事件委托,jquery事件委托
  2. 朱晔的互联网架构实践心得S1E3:相辅相成的存储五件套
  3. hdu2544最短路
  4. HTTP协议中返回代码302的情况
  5. skywalking使用方法_基于SkyWalking的监控系统安装与使用教程 PDF 下载
  6. yii2: 点击编辑后,左侧的连接(a.navtab)失效,变成在新窗口打开
  7. 自家院子里能不能种桃树呢?
  8. java 原子类_没用过Java原子类?我来手写一个AtomicInteger
  9. android微信支付指纹支付密码错误,安卓微信支付怎么设置指纹锁
  10. Monkey简单介绍
  11. Keil 中“last line of file ends without a newline”的解决
  12. 华为操作系统,阿里巴巴飞天操作系统 ------- 操作系统生态
  13. 如何把苹果文件APP里的Word文档传到手机备忘录
  14. cmd查看python库命令_怎么用命令查看python的库
  15. 装的机械硬盘计算机里没有反应,固态硬盘和机械硬盘运行打开我的计算机图标,有时候读取没有响应,单独用固态硬盘是没问题的 ,机械硬盘也测试了,没有坏道什么的,始终找不到原因...
  16. 遇见狂神书说:JavaWeb保姆级教程
  17. rem与px之间的转换
  18. 记一次阿里java实习生面试(失败)
  19. 解决 - Adobe Acrobat/Adobe Reader 的 Windows 任务栏图标异常
  20. 逆向学习litevm篇

热门文章

  1. 如何做嵌入式人工智能
  2. 基于SpringBoot项目的https
  3. STM32F105 PA9/OTG_FS_VBUS Issues
  4. DuiVision开发教程(19)-菜单
  5. fast-json.jar的用法
  6. Unity自带网络功能——NetworkView组件、Serialize、RPC
  7. 用 WebClient 轻松实现文件下载上传、网页抓取
  8. Leetcode--198. 打家劫舍
  9. java下载文件夹_java如何通过共享目录下载文件夹(有子文件夹)到本地目录?...
  10. MATLAB并行实现的简单方法