首页 > 编程知识 正文

hex格式用什么打开,hex文件生成

时间:2023-05-05 15:45:06 阅读:156336 作者:2434

学习的道路,越努力越小。

——单片机初学者

在学习单片机的过程中

我用过

KEIL

在、

编码器

在、

CCS

等待编译器,

但是最近为了一个小项目

正在录用

PIC18F25K80

芯片,使用

MPLAB

PICC18

编译器在烧代码的过程中,突然注意到了

自己一直在用

. Hex

虽然是文章,但是因为没有对本文进行过研究和理解,所以如下。

Hex

通常,编译器在项目编译链接后生成文件,并保存该文件进行传输

ROM

或者

EEPROM

的程序或数据可以在项目工程目录中找到。 要不要用记事本

Notepad

打开

hex

文件,

hex

文件由以冒号开头的一行“:数字”组成,全部内容

16

进制数。

Hex

文件的每一行都是十六进制记录。

这个记录是

5

各部分的构成:

数据长度

1

字节)

在、

数据的起始地址(

2

个字节,高位在前,低位在后),记录类型(

1

个字节)、数据(

n

节)、校验码(

1

字节)。

打开

Hex

文件,以下:

:02

0000

04

0800

F2

:10

1800

00

2039002055190008 a 1270008 a 3270008

47

:10

1810

00

00000000000000000000000000000000

C8

.

:10

C000

00

1a 67296887689968 a768 b 20529 a 40100

9A

:10

C010

00

204214021440420 a 0313 da 0342140313

A9

:08

C020

00

0B03420A0327DB03

B6

:04

0000

05

080018BD

1A

:00

0000

01

FF

以心

:101800002039002055190008 a 1270008 a 327000847

示例:

0x10

0x18

0x00

0x00

0x20

0x03

0x90

0x02

0x55

0x19

0x00

0x08

0xA1

0x27

0x00

0x08

0xA3

0x27

0x00

0x08

0x47

:

表示记录开始;

换行

表示记录结束;

“0x10”

数据长度为

16

即,正式记录数据为

16

1字节;

“0x18

0x00”

数据开头地址,即本记录的数据的开头地址

0x1800

“0x00”

表示数据类型。 数据类型如下:

0x00

在、

0x01

在、

0x02

在、

0x03

在、

0x04

在、

0x05。

“0x00”

数据记录

“0x01”

:表示文件的结束

“0x02”

:标识扩展段地址记录

“0x03”

:开始段地址记录;

“0x04”

:识别扩展线性地址记录(虚拟地址);

“0x05”

:线性地址记录开始(虚拟地址);

“0x20

--

0x08”

表示数据;

“0xA3”

表示校验码。

校验码算法:

计算校验数位前所有字节的累加

(不进位)

校验码

=

0x100

_

累加。

由此可见,上面的

hex

文件主要执行以下操作:识别扩展线性地址、记录数据、起始线

性地址记录,文件结束。

由于扩展线性地址的概念不明确,所以再次扩展:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。