两只袜子 发表于 2022-10-21 19:26

单片机中hex、bin文件的区别

单片机程序编译之后,除了生成hex文件之外还生成了bin文件,实际它们都是单片机的下载文件,下文介绍它们的区别。Hex    Hex文件包含地址信息。    在用ISP方式烧写程序时,有这样的经验:

[*]选择单片机型号
[*]选择串口号
[*]设置波特率(或者默认)
[*]选择下载的文件
[*]点击下载按钮下载

    在串口工具中,操作如下图红框所示。 经过这几步后,程序下载工作就完成了,在以上的步骤中我们并没有选择要把程序下载到单片机的哪块内存中,即不需要设置地址。因为HEX文件内部的信息已经包括了地址。    单片机一般是下载hex文件BIN    BIN文件格式只包括了数据本身,没有包含地址。烧写BIN文件的时候,用户是一定需要指定地址信息的。    所以在下载bin文件时需要选择内存的起始地址和终止地址,即要把bin文件下载到指定的内存空间。    通常需要指定程序内存地址的芯片为ARM芯片和DSP芯片。文件大小
    对于bin文件,通过右键属性查看到的文件的大小就是数据的实际大小。    而对HEX文件而言,你看到的文件大小并不是实际的数据的大小。一是因为HEX文件是用ASCII来表示数据,二是因为HEX文件本身还包括别的附加信息。

地瓜patch 发表于 2022-10-21 20:33

赞一个

两只袜子 发表于 2022-10-24 14:18

地瓜patch 发表于 2022-10-21 20:33
赞一个

哈哈,感谢版主支持

tpgf 发表于 2022-11-2 11:39

hex文件是可以烧写到单片机中,被单片机执行的一种文件格式,生成Hex文件的方式由很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hex。

nawu 发表于 2022-11-2 11:55

Intel hex文件记录中的数字都是16进制格式,两个16进制数字代表一个字节。

aoyi 发表于 2022-11-2 12:09

Bin文件是最纯粹的二进制机器代码,没有格式,或者说是“顺序格式”按assembly code顺序翻译成binary machine code

zljiu 发表于 2022-11-2 12:17

Hex文件如果用特殊的程序来查看(一般记事本就可以实现)。打开后可发现,真个文件以行为单位,每行以冒号开头,内容全部为16进制码。

gwsan 发表于 2022-11-2 13:24

生成Hex文件的方式由很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hex

tfqi 发表于 2022-11-2 13:42

bin文件是二进制文件,所有数据就是写入到单片机中的实际数据。

Stahan 发表于 2022-11-2 20:43

Bin文件是最纯粹的二进制机器代码

chenjun89 发表于 2022-11-7 19:50

bin文件主要用于在线升级

天天向善 发表于 2022-11-8 14:08

BIN文件看到的大小也不一定是实际大小哦。

Pretext 发表于 2022-11-8 14:09

axf是个什么文件?

AloneKaven 发表于 2022-11-19 17:22

BIN文件需要指定地址信息

Jacquetry 发表于 2022-11-19 17:52

hex文件记录中的数字都是16进制格式
页: [1]
查看完整版本: 单片机中hex、bin文件的区别