精华内容
下载资源
问答
  • hex格式

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

    记录格式 

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

    :llaaaatt[dd...]cc 

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

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

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

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

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

    00 – 数据记录 

    01 – 文件结束记录 

    02 – 扩展段地址记录 

    04 – 扩展线性地址记录 

    dd 是数据域,它代表一个字节的数据.一个记录可以有许多数据字节.记录当中数据字节的数量必须和数据长度域(ll)中指定的数字相符. 

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

    数据记录 

    Intel HEX文件由任意数量以回车换行符结束的数据记录组成.数据记录外观如下: 

    :10246200464C5549442050524F46494C4500464C33 

    其中: 

    10 是这个记录当中数据字节的数量. 

    2462 是数据将被下载到存储器当中的地址. 

    00 是记录类型(数据记录) 

    464C…464C是数据. 

    33 是这个记录的校验和. 

    扩展线性地址记录(HEX386) 

    扩展线性地址记录也叫作32位地址记录或HEX386记录.这些记录包含数据地址的高16位.扩展线性地址记录总是有两个数据字节,外观如下: 

    :02000004FFFFFC 

    其中: 

    02 是这个记录当中数据字节的数量. 

    0000 是地址域,对于扩展线性地址记录,这个域总是0000. 

    04 是记录类型 04(扩展线性地址记录) 

    FFFF 是地址的高16位. 

    FC 是这个记录的校验和,计算方法如下: 

    01h + NOT(02h + 00h + 00h + 04h + FFh + FFh). 

    当一个扩展线性地址记录被读取,存储于数据域的扩展线性地址被保存,它被应用于从Intel HEX文件读取来的随后的记录.线性地址保持有效,直到它被另外一个扩展地址记录所改变. 

    通过把记录当中的地址域与被移位的来自扩展线性地址记录的地址数据相加获得数据记录的绝对存储器地址. 

    以下的例子演示了这个过程.. 

    来自数据记录地址域的地址 2462 

    扩展线性地址记录的数据域 + FFFF 

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

    绝对存储器地址 FFFF2462 

    扩展段地址记录(HEX86) 

    扩展段地址记录也叫HEX86记录,它包括4-19位数据地址段.扩展段地址记录总是有两个数据字节,外观如下: 

    :020000021200EA 

    其中: 

    02 是记录当中数据字节的数量. 

    0000 是地址域.对于扩展段地址记录,这个域总是0000. 

    02 是记录类型 02(扩展段地址记录) 

    1200 是地址段. 

    EA 是这个记录的校验和,计算方法如下: 

    01h + NOT(02h + 00h + 00h + 02h + 12h + 00h). 

    当一个扩展段地址记录被读取,存储于数据域的扩展段地址被保存,它被应用于从Intel HEX文件读取来的随后的记录.段地址保持有效,直到它被另外一个扩展地址记录所改变. 

    通过把记录当中的地址域与被移位的来自扩展段地址记录的地址数据相加获得数据记录的绝对存储器地址. 

    以下的例子演示了这个过程.. 

    来自数据记录地址域的地址 2462 

    扩展段地址记录数据域 + 1200 

    --------- 

    绝对存储器地址 00014462 

    文件结束(EOF)记录 

    Intel HEX文件必须以文件结束(EOF)记录结束.这个记录的记录类型域的值必须是01.EOF记录外观总是如下: 

    :00000001FF 

    其中: 

    00 是记录当中数据字节的数量. 

    0000 是数据被下载到存储器当中的地址.在文件结束记录当中地址是没有意义被忽略的.0000h是典型的地址. 

    01 是记录类型 01(文件结束记录) 

    FF 是这个记录的校验和,计算方法如下: 

    01h + NOT(00h + 00h + 00h + 01h). 

    Intel HEX文件例子: 

    下面是一个完整的Intel HEX文件的例子: 

    :10001300AC12AD13AE10AF1112002F8E0E8F0F2244 

    :10000300E50B250DF509E50A350CF5081200132259 

    :03000000020023D8 

    :0C002300787FE4F6D8FD7581130200031D 

    :10002F00EFF88DF0A4FFEDC5F0CEA42EFEEC88F016 

    :04003F00A42EFE22CB 

    :00000001FF

    展开全文
  • IntelHEX文件是记录文本行的ASCII文本文件,在IntelHEX文件中,每一行是一个HEX记录,由...很多编译器的支持生成HEX格式的烧录文件,尤其是Keilc。但是编程器能够下载的往往是BIN格式,因此HEX转BIN是每个编程器都...

    Intel HEX

    文件是记录文本行的

    ASCII

    文本文件,在

    Intel HEX

    文件中,每一行是

    一个

    HEX

    记录,由十六进制数组成的机器码或者数据常量。

    Intel HEX

    文件经常

    被用于将程序或数据传输存储到

    ROM

    EPROM

    ,大多数编程器和模拟器使用

    Int

    el HEX

    文件。

    很多编译器的支持生成

    HEX

    格式的烧录文件,尤其是

    Keil c

    。但是编程器能够

    下载的往往是

    BIN

    格式,因此

    HEX

    BIN

    是每个编程器都必须支持的功能。

    HEX

    格式文件以行为单位,每行由

    (

    0x3a

    )开始,以回车键结束

    (0x0d,

    0x0a)

    。行内的数据都是由两个字符表示一个

    16

    进制字节,比如

    ”01”

    就表示数

    0

    x01

    ”0a”

    ,就表示

    0x0a

    。对于

    16

    位的地址,则高位在前低位在后,比如地址

    0x010a

    ,在

    HEX

    格式文件中就表示为字符串

    ”010a”

    。下面为

    HEX

    文件中的一

    行:

    :10000000FF0462FF051EFF0A93FF0572FF0A93FFBC

    表示一行的开始。

    后的第

    1

    2

    个字符

    “10”

    表示本行包含的数据的长度,这里就是

    0x10

    16

    个。

    3

    4

    5

    6

    个字符

    “0000”

    表示数据存储的起始地址,这里表示从

    0x0000

    地址开始存储

    16

    个数据,其中高位地址在前,低位地址在后。

    7

    8

    个字符

    “00”

    表示数据的类型。该类型总共有以下几种:

    00 ----

    数据记录

    01 ----

    文件结束记录

    02 ----

    扩展段地址记录

    04 ----

    扩展线性地址记录

    这里就是

    0x00

    即为普通数据记录。

    自后的

    32

    个字符就是本行包含的数据,每两个字符表示一个字节数据,总共

    16

    个字节数据跟行首的记录的长度相一致。

    最后两个字符表示校验码。

    每个

    HEX

    格式的最后一行都是固定为:

    :00000001FF

    展开全文
  • 易语言hex格式转换源码,hex格式转换,ReplaceTxt,BinToHexText,十六转10
  • hex格式转换.rar

    2020-04-05 01:15:18
    hex格式转换.rar
  • 来来 !! come baby ! 只强调一点这篇文章有checksum的算法,是我最喜欢地!...每个记录包含5个域,它们按以下格式排列:Intel HEX文件是记录文本行的ASCII文本文件,在Intel HEX文件中,每一行是一个HE...

    来来 !! come baby  !  只强调一点这篇文章有checksum的算法,是我最喜欢地!!

    参考:https://blog.csdn.net/extlife/article/details/9033079

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

    Intel HEX文件是记录文本行的ASCII文本文件,在Intel HEX文件中,每一行是一个HEX记录

    由十六进制数组成的机器码或者数据常量,Intel HEX文件经常被用于将程序或数据传输

    存储到ROM.EPROM,大多数编程器和模拟器使用Intel HEX文件.

    记录格式

    一个Intel HEX文件可以包含任意多的十六进制记录,每条记录有五个域,下面是一个记录的 格式.

    :llaaaatt[dd...]cc

    每一组字母是独立的一域,每一个字母是一个十六进制数字,每一域至少由两个十六进制数 字组成,下面是字节的描述.

    :冒号     是每一条Intel HEX记录的开始

    ll 是这条记录的长度域,他表示数据(dd)的字节数目.

    aaaa 是地址域,他表示数据的起始地址

    tt 这个域表示这条HEX记录的类型,他有可能是下面这几种类型 00 ----数据记录        01 ----文件结束记录 02 ----扩展段地址记录 04 ----扩展线性地址记录

    dd   是数据域,表示一个字节的数据,一个记录可能有多个数据字节,字节数目可以 查看ll域的说明

    cc   是效验和域,表示记录的效验和,计算方法是将本条记录冒号开始的所有字母对

    另一位兄弟的描述更加清楚:

    Hex文件,这里指的是Intel标准的十六进制文件,也就是机器代码的十六进制形式,并且是用一定文件格式的ASCII码来表示.具体格式介绍如下: Intel hex 文件格式 Intel hex 文件常用来保存单片机或其他处理器的目标程序代码。它保存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式。 Intel hex 文件全部由可打印的ASCII字符组成,如下例所示: :2000000012014c75a800e4f508f509780a7a78e4f608dafcd283fcfded240af9a7050dbd81 :2000200000010ced2488ec34ff50edc283e4fcfded240af9e76d7013ed33e43c700d0dbd2a :2000400000010ced2488ec34ff50e50509e50970020508e50924a8e50834fd50aee4f50874 Intel hex 由一条或多条记录组成,每条记录都由一个冒号“:”打头,其格式如下: :CCAAAARR...ZZ

    其中:  CC 本条记录中的数据字节数 AAAA 本条记录中的数据在存储区中的起始地址 RR 记录类型: 00 数据记录 (data record) 01 结束记录 (end record) 02 段记录 (paragraph record) 03 转移地址记录 (transfer address record) ... 数据域 ZZ 数据域校验和 Intel hex文件记录中的数字都是16进制格式,两个16进制数字代表一个字节。CC域是数据域中的实际字节数,地址、记录类型和校验和域没有计算在内。校验和是取记录中从数据字节计数域(CC)到数据域(...)最后一个字节的所有字节总和的2的补码。

    < 不包括本效验字和冒号> 所表示的十六进制数字

    都加起来然后模除256得到的余数最后求出余数的补码即是本效验字节cc. < 例如: :0300000002005E9D cc=0x01+NOT((0x03+0x00+0x00+0x00+0x02+0x00+0x5E)%0x100)=0x01+0x9C=0x9D

    C语言描述: UCHAR cc; cc=(UCHAR)~(0x03+0x00+0x00+0x00+0x02+0x00+0x5E); cc++; > 数据记录

    Intel HEX文件由若干个数据记录组成,一个数据记录以一个回车和一个换行结束                                          

    比如下面的一条数据记录 :10246200464C5549442050524F46494C4500464C33

    10   是此行记录数据的字节数目 2462   是数据在内存中的起始地址 00     是记录类型00(是一个数据记录) 464C 到 464C 是数据 33   是此行记录的效验和

    扩展线性地址记录(HEX386) 扩展线性地址记录也可称为 32位地址记录   和   HEX386记录,这个纪录包含高16(16-31 位)位数据地址,这种扩展的线性记录总是有两个字节数据,像下面这样:

    :02000004FFFFFC 02     是记录的数据字节数目 0000   是地址域这在扩展地址记录中总是0000 04     是记录类型04(扩展地址记录) FFFF   是高16位地址 FC     是记录效验和,计算方法如下:         01h + NOT(02h + 00h + 00h + 04h + FFh + FFh)

    当一个扩展线性地址记录被读到后,扩展线性地址记录的数据区域将被保存 并应用到后面从Intel HEX文件中读出的记录,这个扩展线性记录一直有效, 直到读到下一个扩展线性记录.

    绝对内存地址 = 数据记录中的地址 + 移位后的扩展线性地址

    下面举例说明这个过程

    从数据记录的地址域得到地址           2462 从扩展线性地址记录的地址域得到地址   FFFF 绝对内存地址                           FFFF2462

    扩展段地址记录 (HEX86)

    扩展段地址记录也被称为 HEX86记录,   包含 4-19位的数据地址段, 这个扩展段地址记录总是有两字节数据,如下:

    :020000021200EA 02 是     记录中的数据字节数目 0000           是地址域,在扩展段地址记录中,这个域总是0000 02           是记录类型02(扩展段地址的标示) 1200     是该段的地址 EA     是效验和 计算如下: 01h + NOT(02h + 00h + 00h + 02h + 12h + 00h).

    当扩展段地址记录被读后,扩展段地址将被存储并应用到以后从Intel HEX文件读出的记录 ,这个段地址一直有效直到读到下一个扩展段地址记录

    绝对内存地址 = 数据记录中的地址 + 移位后的扩展段地址

    数据记录中的地址域       移位后扩展段地址记录中的地址域

    下面举例说明这个过程

    从数据记录的地址域得到地址                   2 4 6 2 从扩展段地址记录的地址域得到地址           1 2 0 0 绝对内存地址                         0 0 0 1 4 4 6 2

    文件结束记录(EOF) 一个Intel HEX文件必须有一个文件结束记录,这个记录的类型域必须是01, 一个EOF记录总是这样: :00000001FF 00是记录中数据字节的数目 0000这个地址对于EOF记录来说无任何意义 01记录类型是01(文件结束记录标示) FF是效验和计算如下 01h + NOT(00h + 00h + 00h + 01h). ========================

    总结

    形如 :BBAAAATTHHHH...HHHHCC

    BB: Byte AAAA:数据记录的开始地址,高位在前,地位在后       因为这个格式只支持8bits,地址被倍乘       所以,为了得到实际的PIC的地址,需要将 地址除以2 TT: Type         00 数据记录         01 记录结束         04 扩展地址记录(表示32位地址的前缀,当然这种只能在 INHX32) HHHH:一个字(Word)的数据记录,高Byte在前,低Byte在后       TT之后,总共有 BB/2 个字 的数据 CC: 一个Byte的CheckSum

    原文:https://www.cnblogs.com/MCSFX/p/10913861.html

    展开全文
  • IntelHEX文件是记录文本行的ASCII文本文件,下面是IntelHEX文件格式,在IntelHEX文件中,每一行是一个HEX记录由十六进制数组成的机器码或者静态数据,IntelHEX文件经常被用于将程序或数据传输存储到ROM.EPROM,大多数编程...

    Intel HEX

    文件是记录文本行的

    ASCII

    文本文件

    ,

    下面是

    Intel HEX

    文件格式

    ,

    Intel HEX

    文件中

    ,

    每一行是一个

    HEX

    记录由十六进制数组成的机器码或者静态数

    ,Intel HEX

    文件经常被用于将程序或数据传输存储到

    ROM.EPROM,

    大多数编程

    器和模拟器使用

    Intel HEX

    文件

    .

    记录格式

    :

    一个

    Intel HEX

    文件可以包含任意多的十六进制记录

    ,

    每条记录有五个域

    ,

    下面是

    一个记录的格式

    .

    :llaaaatt[dd...]cc

    每一组字母是独立的一域

    ,

    每一个字母是一个十六进制数字

    ,

    每一域至少由两个十

    六进制数字组成

    ,

    下面是字节的描述

    .

    :?

    冒号是每一条

    Intel HEX

    记录的开始

    ll?

    是这条记录的长度域

    ,

    他表示数据

    (dd)

    的字节数目

    .

    aaaa?

    是地址域

    ,

    他表示数据的起始地址

    <

    如果是数据记录这表示将要烧录的这条

    记录中的数据在

    EPROM

    中的偏移地址

    ,

    对于不支持扩展段地址和扩展线性地址

    的如

    89C51,

    这就是此条记录的起始地址

    >

    tt?

    这个域表示这条

    HEX

    记录的类型

    ,

    他有可能是下面这几种类型

    00 ----

    数据记录

    <

    要分清楚这几种记录类型

    ,

    后面会经常出现

    ,

    不要搞混了

    >

    01 ----

    文件结束记录

    02 ----

    扩展段地址记录

    04 ----

    扩展线性地址记录

    dd?

    是数据域

    ,

    表示一个字节的数据

    ,

    一个记录可能有多个数据字节

    ,

    字节数目可以

    查看

    ll

    域的说明

    cc?

    是效验和域

    ,

    表示记录的效验和

    ,

    计算方法是将本条记录冒号开始的所有对字

    <

    不包括本效验字和冒号

    >

    所表示的十六进制数字

    <

    一对字母表示一个十六进

    展开全文
  • Hex格式和Mot格式简介

    千次阅读 2017-05-22 11:19:41
    一、Hex格式介绍  1.1 什么是 Intel HEX 文件格式?  Intel HEX文件 是由一行行符合 Intel HEX文件格式的文本所构成的ASCII文本文件。 在Intel HEX文件中,每一行包含一个HEX记录。 这些记录由对应机器...
  • 前言最近在研究STM32的IAP升级功能,发现大多数的IAP...只能全部重新烧写,为此研究了一下IAP升级时使用hex格式文件,hex格式文件每行数据都包含烧写的地址信息,可确保出错后可以方便定位到哪一段地址烧写错误。hex...
  • hex文件格式总结什么是hex文件?hex是用于文件格式是intel规定的标准,总体来说,hex是文本文件,经常在微控制器的固件开发中看到hex的身影,例如基于STM32F103硬件,使用MDK开发的话,该软件就可以生成hex文件;如...
  • intel HEX格式

    2018-02-13 21:41:44
    对于HEX格式的校验网上有软件可以算校验值。Byte COUNT 字节个数 估计是可以换成别的值,比如0x20。这样做的目的可能是一次性向falsh烧写较多字节。但这么弄总感觉有点没有必要。==================================...
  • 虫儿飞HEX格式51单片机开发应用程序,方便初学者带动硬件电路的设计与兴趣
  • 可以将CCS编译出来的hex格式的文件转换成dat格式的
  • ——单片机初学者在学习单片机的路上,我用过KEIL、CodeWarrior、CCS等编译器,但最近因一个小项目,采用的PIC18F25K80芯片,使用MPLAB的PICC18编译器,在烧写代码的时候,突然意识到自己一直在使用.Hex文件,但从未...
  • 前言最近在研究STM32的IAP升级功能,发现大多数的IAP...只能全部重新烧写,为此研究了一下IAP升级时使用hex格式文件,hex格式文件每行数据都包含烧写的地址信息,可确保出错后可以方便定位到哪一段地址烧写错误。hex...
  • 展开全部hex文件格式是可以烧写到单片机中,被单片机执行的一种文件格式。生成Hex文件的62616964757a686964616fe78988e69d8331333431376562方式有很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hexHex...
  • bin hex格式互转小软件

    2009-03-11 21:08:51
    bin hex 格式互转 单片机 编程 bin hex 格式互转 单片机 编程 bin hex 格式互转 单片机 编程
  • elf格式转换为hex格式文件的两种方法 之前的文章如何在Keil-MDK开发环境生成Bin格式文件,介绍了如何在Keil开发环境使用fromelf软件,将生成的axf文件转换为bin文件,这次我们再来介绍一下如何将elf文件转换为...
  • Intel HEX格式

    2009-06-15 21:19:00
    什么是Intel HEX格式?回答:Intel HEX文件是记录文本行的ASCII文本文件,在Intel HEX文件中,每一行是一个HEX记录由十六进制数组成的机器码或者数据常量,Intel HEX文件经常被用于将程序或数据传输存储到ROM.EPROM,...
  • hex格式介绍及转bin格式的源程序

    千次阅读 2016-02-19 11:18:08
    最近在写一个编程器,遇到hex格式文件转换为bin格式文件的问题,通过查阅各类资料,对该格式有了了解。所以在此介绍一下hex格式,并将自己的程序思路写下来,供大家探讨一下。  Intel HEX文件是记录文本行的...
  • 终于想起来更新一下关于使用Matlab串口发送HEX格式字符。这个用法主要来自于我使用Matlab对机器人进行实时轨迹跟踪的绘制,由于底层限制,自己又不想在中间增加转换模块,就需要直接发送HEX格式指令进行运动控制。 ...
  • 单片机,HEX格式文件转换为BIN格式文件,有源码,可以将多个HEX格式的文件合并为一个BINgo格式文件。
  • HEX格式详解

    千次阅读 2019-05-29 17:06:03
    基本格式组成: : (冒号)每个Intel HEX 记录 都由冒号开头 ; LL 是 数 据长度域,它 代表 记录当中数据字节 (dd) 的 数量 ; aaaa 是地址域,&...
  • hex格式转bin格式

    千次阅读 2017-02-14 08:57:22
    1.hex文件格式详解 Hex文件是可以烧录到MCU中,被MCU执行的一种文件格式。如果用记事本打开可发现,整个文件以行为单位,每行以冒号开头,内容全部为16进制码(以ASCII码形式显示)。Hex文件可以按照如下的方式...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,880
精华内容 1,152
关键字:

hex格式