intel hex文件格式浅析

本文介绍了Intel HEX文件格式,主要用于存储程序和数据,通常用于EPROM编程。内容包括数据记录、扩展线性地址记录(HEX386)的格式解析,以及与bin文件的区别。在编程器中,主要处理数据类型为0x00和0x01的记录,不涉及扩展地址记录。
摘要由CSDN通过智能技术生成

intel hex文件格式浅析

       最近学习EZ-USB FX2LP CY7C68013A固件和上位机程序的开发,通过Keil uVision2开发的固件烧写程序有两种,一种为hex文件格式,可以烧写到USB芯片内部RAM中;另一种为iic文件,可以烧写到CY7C68013A(128脚)外配的eeprom中。这两种固件文件可以通过cypress公司提供的专业下载工具下载到usb芯片或eeprom中。为了调试方便,想把下载程序集成到自己编写的vc界面中,首先编写了hex文件的烧写程序,(接下来有时间会试着编写一下icc文件的下载程序)再此过程中,学习了hex文件的格式,下面跟进网上查找的资料对hex文件格式进行总结,一来可以方便自己以后查阅,而来为有需要的朋友共享。  

       Hex 全称 (Intel HEX)文件是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。在Intel HEX文件中,每一行包含一个HEX记录。这些记录由对应机器语言码和/或常量数据的十六进制编码数字组成。Intel HEX文件通常用于传输将被存于ROM或者EPROM中的程序和数据。大多数EPROM编程器或模拟器使用Intel HEX文件。

       Intel HEX由任意数量的十六进制记录组成,每行为一个记录,每个记录由0x3a)开始,以回车键结束(0x0d,0x0a)且每个记录包含5个域,它们按以下格式排列:

  :llaaaatt[dd...]cc  (eg:10000000020003787FE4F6D8FD75812B02004A02D6

  每一组字母对应一个不同的域,每一个字母对应一个十六进制编码的数字。每一个域由至少两个十六进制编码数字组成,它们构成一个字节,就像以下描述的那样:

  : 每个Intel hex记录都由冒号开头.

  ll (10,即16个数据)是数据长度域,它代表记录当中数据字节(dd...)的数量.

  aaaa(0000) 是地址域,它代表记录当中数据的起始地址.

  tt (00)是代表hex记录类型的域,它可能是以下数据当中的一个:

  00 – 数据记录

  01 – 文件结束记录

  02 – 扩展段地址记录

  04 – 扩展线性地址记录

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值