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 的检测 来执行代 ...
随机推荐
- 文本框的placeholder属性
在文本框中添加placeholder属性,用于文本框处于未输入状态时,模糊显示输入提示,当用户进行输入时,不需要删除该提示文字. 如: <input type="text" ...
- FastDFS为什么要结合Nginx
FastDFS为什么要结合Nginx? 我们在使用FastDFS部署一个分布式文件系统的时候,通过FastDFS的客户端API来进行文件的上传.下载.删除等操作.同时通过FastDFS的HTTP服务器 ...
- MSBuild编译扩展
新增一个C#工程,用记事本打开工程文件(.csproj结尾),滚动条拉到最后,大家可以看到一段如下的代码,其中<Target Name="BeforeBuild">和& ...
- Verilog-FPGA硬件电路设计之一——if语句优先级(always块中的阻塞赋值生成的组合逻辑电路是按照顺利执行的)
出处:http://bbs.ednchina.com/BLOG_ARTICLE_3013262.HTM 综合软件:Quartus II 一.有优先级的if语句 if..else if.. else i ...
- JDBC入门try/catch型
package com.itheima.domain; import java.sql.Connection; import java.sql.DriverManager; import java.s ...
- 本地缓存下载文件,download的二次封装
来源:http://ask.dcloud.net.cn/article/524 源码下载链接 说明: (1)由于平时项目中大量用到了附件下载等功能,所以就花了一个时间,把plus的downlaod进行 ...
- 20160512--hibernate--缓存
缓存 缓存的作用主要用来提高性能,可以简单的理解成一个Map:使用缓存涉及到三个操作:把数据放入缓存.从缓存中获取数据.删除缓存中的无效数据. 原理模拟分析:(不能运行,只是模拟)(缓存实现复杂, ...
- 常用经典SQL语句大全(提升)
二.提升 1.说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于SQlServer) ...
- 全面认识网络诊断命令功能与参数——netsh diagnostic命令
netsh diagnostic是网络诊断命令,主要检测网络连接和服务器连接的状态. 注意:netsh不能在Window2000以下系统中使用.案例1:使用netsh diagnostic命令检 ...
- Oracle Varchar2长度 及 PHP 长度判断
oracle数据库相信大家都比较熟悉,数据库中有一种非常常用的数据类型:字符串型. 对应该类型,在oracle中有三种比较常用的类型:varchar2(byte).varchar2( ...