跳转到主要内容

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

cathy 提交于

单片机程序编译之后,除了生成hex文件之外还生成了bin文件,实际它们都是单片机的下载文件,下文介绍它们的区别。

<strong><font color="#004a85">Hex</font> </strong>

Hex文件包含地址信息。

在用ISP方式烧写程序时,有这样的经验:

<ul>
<li>
<p>选择单片机型号</p>
</li>
<li>
<p>选择串口号</p>
</li>
<li>
<p>设置波特率(或者默认)</p>
</li>
<li>
<p>选择下载的文件</p>
</li>
<li>
<p>点击下载按钮下载</p>
</li>
</ul>

在串口工具中,操作如下图红框所示。

<center><img src="http://mcu.eetrend.com/files/2021-11/wen_zhang_/100555687-228675-1.png&…; alt=“单片机中hex、bin文件的区别"></center>

经过这几步后,程序下载工作就完成了,在以上的步骤中我们并没有选择要把程序下载到单片机的哪块内存中,即不需要设置地址。因为HEX文件内部的信息已经包括了地址,相关文章推荐:在SMT32的HEX文件里加入固件版本信息。

单片机一般是下载hex文件。

<strong><font color="#004a85">BIN</font> </strong>

BIN文件格式只包括了数据本身,没有包含地址。烧写BIN文件的时候,用户是一定需要指定地址信息的。

所以在下载bin文件时需要选择内存的起始地址和终止地址,即要把bin文件下载到指定的内存空间,相关文章移步此处:STM32单片机中Hex、Bin文件的区别与应用。

通常需要指定程序内存地址的芯片为ARM芯片和DSP芯片。

<strong><font color="#004a85">文件大小</font> </strong>

对于bin文件,通过右键属性查看到的文件的大小就是数据的实际大小。

而对HEX文件而言,你看到的文件大小并不是实际的数据的大小。一是因为HEX文件是用ASCII来表示数据,二是因为HEX文件本身还包括别的附加信息。

来源:<a href="https://mp.weixin.qq.com/s/xBE8gMkXrD32Sm4W44CuXg">STM32嵌入式开发</a&gt;
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。