打印
[其他]

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

[复制链接]
1086|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

单片机程序编译之后,除了生成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 | 只看该作者

哈哈,感谢版主支持

使用特权

评论回复
地板
tpgf| | 2022-11-2 11:39 | 只看该作者
hex文件是可以烧写到单片机中,被单片机执行的一种文件格式,生成Hex文件的方式由很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hex。

使用特权

评论回复
5
nawu| | 2022-11-2 11:55 | 只看该作者
Intel hex文件记录中的数字都是16进制格式,两个16进制数字代表一个字节。

使用特权

评论回复
6
aoyi| | 2022-11-2 12:09 | 只看该作者
Bin文件是最纯粹的二进制机器代码,没有格式,或者说是“顺序格式”按assembly code顺序翻译成binary machine code

使用特权

评论回复
7
zljiu| | 2022-11-2 12:17 | 只看该作者
Hex文件如果用特殊的程序来查看(一般记事本就可以实现)。打开后可发现,真个文件以行为单位,每行以冒号开头,内容全部为16进制码。

使用特权

评论回复
8
gwsan| | 2022-11-2 13:24 | 只看该作者
生成Hex文件的方式由很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hex

使用特权

评论回复
9
tfqi| | 2022-11-2 13:42 | 只看该作者
bin文件是二进制文件,所有数据就是写入到单片机中的实际数据。

使用特权

评论回复
10
Stahan| | 2022-11-2 20:43 | 只看该作者
Bin文件是最纯粹的二进制机器代码

使用特权

评论回复
11
chenjun89| | 2022-11-7 19:50 | 只看该作者
bin文件主要用于在线升级

使用特权

评论回复
12
天天向善| | 2022-11-8 14:08 | 只看该作者
BIN文件看到的大小也不一定是实际大小哦。

使用特权

评论回复
13
Pretext| | 2022-11-8 14:09 | 只看该作者
axf是个什么文件?

使用特权

评论回复
14
AloneKaven| | 2022-11-19 17:22 | 只看该作者
BIN文件需要指定地址信息

使用特权

评论回复
15
Jacquetry| | 2022-11-19 17:52 | 只看该作者
hex文件记录中的数字都是16进制格式

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2038

主题

7364

帖子

10

粉丝