基本:HEX文件格式定义
0x01 概述
此处简单的对于HEX文件进行一些说明介绍,主要介绍了关于Hex文件基本的架构与数据定义
此章过于简单以至于没多少字,主要是hex文件本就是使用一种可视化显示不在Ascii编码内真实数据的一种方式,其较为完整的将binary类别文件转换为Ascii+特殊定义的格式且全部都是可视化的思想真的是很厉害。但是文件格式本身感觉确实没啥说的,主要是在对于后面的object解析文件做引子。
阅读本文之前,您需要掌握的技能有:
技能名称 | 技能熟练度 | 技能教程链接 |
---|---|---|
数据类型 | 熟悉 | 暂无 |
0x02 应用说明
HEX文件格式常用于嵌入式软件编程时作为最后的生成代码数据的文件格式之一,其特点是将代码数据与ROM地址组合在一起,方便与上层生成软件进行解耦,也便于烧写器进行烧写。HEX文件来源可以直接使用搜索引擎进行搜索,这里不再赘述。
0x03 数据格式说明
打开hex文件就可以看出,文件的格式很容易识别。
一个合格的HEX文件编码格式遵循的就是数据段的原则。每段数据段定义极少的数据区,每个数据区为16进制直接转换的ASCII编码,一段数据段分为:段起始、数据长度定义、数据地址(偏移地址)、段定义、数据、校验和。
0x13 段起始
一段的段起始为0x3A,显示的就是:
,也是软件识别段的方式。
0x23 数据长度定义
这个直接定义为16进制的数据,与后面的数据直接对应。
0x33 数据地址
数据地址一般都会定义为当前基地址的偏移(0~FFFF),当然也可以直接定义为当前地址。数据格式为16进制。
0x43 段定义
暂时HEX支持的定义为6种:
'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:开始线性地址记录
这些段定义仅是定义了当前的段在文件中的数据标志。一个文件可以出现多个段和多个起始与结束。这也是大多数的数据文件的组成格式。毕竟这样可以大幅度的节省冗余数据。
但是需要注意的是,如果当前数据是严格按照一定规律排列且有对于程序完整性进行校验的需求的话,有必要将所有的数据进行填充。这个在之后的文章中会讲到。
0x53 数据
当前段的数据,也是16进制。
0x63校验和
校验和的计算为前方所有的数据的累加和,用于保证当前数据没有错误。
0x04 结语
本文概述的HEX文件相关的数据格式。为后续的使用做了基础介绍。
更多
本文首发自 基本:HEX文件格式定义,更多文章可进入我的博客详查
基本:HEX文件格式定义相关推荐
- hex文件格式解析_玩转Hex文件
00 关于Hex Hex文件格式(本文讲的是Intel Hex)是好多好多年以前定义的格式,解析这文件的工具网上搜出来的也是一大摞一大摞的.记住,我们就别瞎折腾自己写一个了哦.我们要学会站在巨人的肩膀 ...
- 基础知识 | hex文件格式详解
hex文件格式总结 什么是hex文件? 文件格式 指令类型(Record type) 校验和 :04 02B0 00 92020008 AE :04 0000 05 08000135 B9 :00 0 ...
- HEX文件格式解析(转)
Hex格式文件有两种,一种是Intel的Intel HEX,另一种是Motorola(摩托罗拉)的SREC(又称MOT). Intel HEX 文件是由一行行符合Intel HEX 文件格式的文本所 ...
- Intel Hex 文件格式
简介 这种文件格式一般是以hex为后缀名,在嵌入式MCU程序开发中,经常编译链接后生成一个这样文件,然后将这个文件烧写到MCU的ROM中. 所以,这个是开发工程的输出文件类型的一种. 发明这种文件格式 ...
- 很多人都不清楚HEX文件格式
Intel HEX文件是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件.在Intel HEX文件中,每一行包含一个HEX记录.这些记录由对应机器语言码和/或常量数据的十六进制编 ...
- hex文件格式剖析,以及hex与bin文件互相转换
大家好,我是学电子的小白白. 熟悉单片机开发的朋友,应该经常见到*.hex后缀的文件,它是单片机和嵌入式工程编译输出的一种常见的目标文件格式(比如keil就能编译输出hex文件),通过烧写工具把它下载 ...
- 单片机进阶 --------hex文件格式
hex文件格式 hex文件格式是可以烧写到单片机中,被单片机执行的一种文件格式,生成Hex文件的方式有很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hex. 中文名 hex文件格式 所属学科 ...
- c语言解析hex文件格式,HEX文件格式,ihex,hex解析
来自:http://blog.csdn.net/GZFStudy/archive/2008/09/03/2873814.aspx Intel HEX 文件是由一行行符合Intel HEX 文件格式的文 ...
- hex文件格式学习记录
.hex文件 .hex文件是什么 .hex文件的数据结构 按照记录类型具体分析 Mermaid Flowchart .hex文件是什么 它是由一行行符合Intel HEX 文件格式的文本所构成的ASC ...
最新文章
- [盘点]从《行者无疆》开始了解欧洲
- 盘点游戏行业的那些干货网站
- JavaFX的科幻用户界面第1部分
- 使用JBoss EAP 7的HTTP / 2
- python操作json字符串,超详细的Python文件操作知识
- jqgrid本地数据例子_办公系统私有云公有云和本地化部署,你选哪个?
- 设计艺术学院院长 读《未来产品的设计》这本书
- 最小错误率贝叶斯决策 matlab,最小错误贝叶斯决策规则
- linux基础ppt下载,《Linux基础》PPT课件.ppt
- 【金融市场基础知识】——中国的金融体系(二)
- 《STL》— NYOJ STL练习 习题汇总
- 流量直升机-千牛插件功能列表
- 微信公众号开发:获取openId和用户信息(完整版)
- Python判断素数(质数)——循换结构、控制及else循环扩展模式的实践
- 2019数据安装勾选_如何安装勾选认证平台安全控件,以及如何勾选认证发票
- 北美CS求学找工指南
- l1-047. 装睡c语言,L1-047 装睡 (10 分)- PAT团体程序设计天梯赛
- 如何安装Tomcat
- 目前已确认 Windows 10 KB5015807 更新中存在的问题
- 了解GAC:从“找不到Microsoft.SqlServer.SqlClrProvider.dll”的问题开始