Intel HEX file结构
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结构的更多相关文章
- 如何读懂 Intel HEX 文件
什么是 Intel HEX 文件格式 转自:http://www.cnblogs.com/imapla/archive/2013/03/16/2926133.htmlIntel HEX 文件是遵循 ...
- intel hex 格式的几个链接
intel hex GENERAL: INTEL HEX FILE FORMAT Intel Hex文件格式说明 - starspace - 博客园 C# Hex文件转bin文件 - bule - 博 ...
- 【转】Intel HEX介绍
记录格式 Intel HEX由任意数量的十六进制记录组成.每个记录包含5个域,它们按以下格式排列: :llaaaatt[dd...]cc 每一组字母对应一个不同的域,每一个字母对应一个十六进制编码的数 ...
- Linux_Struct file()结构体
struct file结构体定义在/linux/include/linux/fs.h(Linux 2.6.11内核)中,其原型是:struct file { /* * f ...
- Intel hex 文件格式解密
Intel hex 文件常用来保存单片机或其他处理器的目标程序代码.它保存物理程序存储区中的目标代码映象.一般的编程器都支持这种格式. Intel hex 文件全部由可打印的ASCII字符组成(可以用 ...
- Linux--struct file结构体
struct file(file结构体): struct file结构体定义在include/linux/fs.h中定义.文件结构体代表一个打开的文件,系统中的每个打开的文件在内核空间都有一个关联的 ...
- 2018.5.2 file结构体
f_flags,File Status Flag f_pos,表示当前读写位置 f_count,表示引用计数(Reference Count): dup.fork等系统调用会导致多个文件描述符指向同一 ...
- Pwn with File结构体(一)
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 利用 FILE 结构体进行攻击,在现在的 ctf 比赛中也经常出现 ...
- Pwn with File结构体(四)
前言 前面几篇文章说道,glibc 2.24 对 vtable 做了检测,导致我们不能通过伪造 vtable 来执行代码.今天逛 twitter 时看到了一篇通过绕过 对vtable 的检测 来执行代 ...
随机推荐
- mysql中相关,无关子查询,表与表之间的关系以及编码和乱码的解决
※MySQL中的字符编码(注意,utf8中没有'-',跟Java中不一样)SHOW VARIABLES; //查看系统变量//查询字符编码相关的系统变量SHOW VARIABLES WHERE var ...
- Android_Spinner_SimpleAdapter
xml布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xml ...
- C语言——结构体
struct 是一种把一些数据项组合在一起的数据结构.在Go,Rust这些新语言中都保留了结构体 struct 的概念,这是C的精华. 定义匿名结构体 例:学生信息定义为一个结构体,信息内容包括学生的 ...
- Each child in an array or iterator should have a unique "key" prop. Check the render method of `CreditCategoryModal`
参考地址:http://f00sun.com/category/react
- TCP/IP 学习博客
原作者地址:http://blog.csdn.net/goodboy1881/article/category/204448
- 数据库E-R模型,数据字典
概述:实体-联系模型(简称E-R模型) 模型结构: E-R模型的构成成分是实体集.属性和联系集,其表示方法如下: (1) 实体集用矩形框表示,矩形框内写上实体名. (2) 实体的属性用椭圆框表示,框内 ...
- jQuery 源码分析 7: sizzle
jQuery使用的是sizzle这个选择器引擎,这个引擎以其高速著称,其实现十分精妙但是也足够复杂,下面现简单分析一下相关的代码. 在jQuery的部分API接口是直接引用了Sizzle的方法,这些接 ...
- [LCA & RMQ] [NOIP2013] 货车运输
首先看到这题, 由于要最大, 肯定是求最大生成树 那么 o(n2) dfs 求任意点对之间的最小边是可以想到的 但是看看数据范围肯定TLE 于是暴力出来咯, 不过要注意query的时候判断的时候要 m ...
- (poj)1502 MPI Maelstrom
题目链接:http://poj.org/problem?id=1502 Description BIT has recently taken delivery of their processor A ...
- java.lang.StringBuilder源码分析
StringBuilder是一个可变序列的字符数组对象,它继承自AbstractStringBuilder抽象类.它不保证同步,设计出来的目的是当这个字符串缓存只有单线程使用的时候,取代StringB ...