Hex文件和Bin文件是什么

Hex文件是以ASCII文本形式保存编译后的二进制文件信息。Hex文件使用ASCII文本的形式保存Bin文件的内容和Bin文件的一些配置信息。Hex文件可以由下载器(比如jlink)烧写到MCU的ROM中。

Bin文件是MCU固件烧写的最终形式,也就是说MCU的ROM中烧写的内容完全就是Bin文件的内容。

Hex文件和Bin文件的关系

Hex文件可以说是MCU固件的中间形式,由下载器的软件根据Hex文件生成Bin文件再烧写到MCU的ROM中。既然Bin文件是最终我们想要的,那么Hex文件有什么存在价值?我们为什么不直接生成Bin文件,却要生成Hex文件呢?这就要从Hex文件的内容格式说起来了。

Hex的内容格式

从上面我们知道Hex文件不只是保存Bin文件的内容,还有一些配置信息。我们以一个例子大概说下Hex文件的结构,见下图:

上图的Hex文件总共6行的内容。每行都是以':'开始,之后是地址域、数据类型、数据域和校验和。

最后一行的数据类型是0x01,代表文件结束了。

Hex文件和Bin文件的存在价值

从上面的介绍中,我们发现Hex文件中每行的内容,就像我们发送串口数据的数据帧,并且最后一行还指示出文件结束了。我们得出hex文件的两个优点:

1. 使用ASCII文本保存固件信息,方便查看一些固件内容;
2. 通过文件每行的校验和与最后一行的文件结束标志,在文件的传输与保存过程中能够发现固件是否完整。

Hex文件有更好的可读性,最重要的是hex文件能够保证固件在保存与传输时的完整性。因此hex文件更适用于保存与传输。而Bin文件是纯二进制文件,内部只包含程序编译后的机器码和变量数据。当文件损坏时,我们也无法知道文件已损坏。不过Bin文件作为固件的最终形式,在使用串口下载程序或者远程升级时,是不可替代的。

BIN文件和HEX文件差异相关推荐

  1. BIN文件和HEX文件互转合并

    因需要使用阿莫脱机下载器制作STM32脱机下载文件,而配置文件部分只有bin格式的,整合不了,所以需要把bin文件转化为hex文件. 参考了:BIN 文件转换为 HEX 文件 - 何亚斌的博客 (go ...

  2. axf文件、hex文件、bin文件区别

    axf文件.hex文件与bin文件都可以运行在stm32,都存储了源代码通过编译器生成的机器码. axf文件:编译默认生成的文件,包含代码数据和调试信息,在MDK里进行debug调试用的文件. hex ...

  3. bin文件和hex文件互转

    对于嵌入式而言,hex文件可能大家再熟悉不过了,对,我们大学时学习的51单片机编写的代码在keil上编译后就生成了hex文件.那bin文件又是什么意思呢,它又和hex文件的区别在哪?这也不是本文的重点 ...

  4. BIN文件与HEX文件比较

    BIN文件与HEX文件比较 其实本质上这两种文件时一样的,都是供CPU执行的,但是HEX文件有一定的格式(如图所示). 这时最根本的差别,还有就是BIN文件的68(图片箭头所指处)是16进制表示的,但 ...

  5. S19文件和HEX文件解析

    目录 一.S19文件解析: 1.记录类型 2.长度计算 3.地址 4.数据 5.校验和及计算 二.HEX文件解析 1.记录类型 2.起始地址 3.数据长度 4.校验和 一.S19文件解析: S19文件 ...

  6. jflash合并stm32f103之bin文件及hex文件

    合并bin格式文件: 1.file-> open data file, 选择boot文件, 地址从8000000开始. 2.file-> merge data file, 选择app文件, ...

  7. STM32-MDK V5 生成bin文件和hex文件

    .axf文件 MDK 下默认生成的烧录文件为.axf文件,文件路径: D:\COINV_STM32\HJJC\STM\MDK-ARM\STM .bin文件 生成方法,如下图所示: 1.打开 Optio ...

  8. 使用hex6x.exe将out文件生成hex文件方法

    首先你要有*.cmd文件和hex6x.exe和*.out文件. 其中out文件是上面一篇中提到的,在CCS里面编译成功的输出文件*.out. *.cmd文件,里面的内容是这样的: debug\SEED ...

  9. Bin文件和Hex文件相互转换

    bin to hex: #!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名:server.pyimport sys import os import pyp ...

  10. C# 学习笔记(12)hex文件转bin文件小工具

    C# 学习笔记(12)hex文件转bin文件小工具 hex文件格式 hex文件格式网上有很多 我这里参考HEX文件格式详解https://blog.csdn.net/weixin_39752827/a ...

最新文章

  1. 根据时间比较选择数据
  2. Android Wear开发 - 数据通讯 - 第二节 : 数据的发送与接收
  3. SAP ABAP ALV(LVC)的一个自定义事件(F4帮助事件,回车ENTER按钮事件)的一个实例
  4. element UI 单选框设置默认选中值
  5. C++框架_之Qt的信号和槽的详解
  6. 笔记本屏幕出现横条纹_笔记本支架+拓展坞+立式无线充:给你的桌面一个简单的品质升级...
  7. 无论是否使用Spring Framework,为什么我们会失败?
  8. echarts tooltip被遮挡_echarts 的tooltip定位到当前图,避免溢出和遮挡
  9. 【Kafka】kafka AdminClient 闲时关闭连接
  10. 【Linux】Linux的关机和虚拟机克隆、快照
  11. python——画伪彩图、设置彩色图例
  12. 14-08-08 考核试题总结~
  13. Charles抓包工具
  14. ecno是什么的缩写_nbcs是什么意思的缩写?
  15. 《管理学》课堂笔记(领导)
  16. cl.clus pw index.php,Application Essay 写作 第五课 Introductions and Conclus
  17. 今日恐慌与贪婪指数为18 恐慌程度有所缓解
  18. Python如何快速爬取淘宝MM呢?教你一招
  19. 论文投稿指南——中文核心期刊推荐(航空、航天)
  20. python speed为0但是速度过快_python代码加速

热门文章

  1. 通过VBA将excel数据导入至word文档
  2. 2022电工(技师)考试题库模拟考试平台操作
  3. Excel数据分析案例二——预测销售额
  4. .NET Remoting 使用总结
  5. 2020的迷之骗局:从瑞幸退市到老干妈炒鹅 | 凌云时刻
  6. mysql 拼音排序_mysql汉字字段按拼音排序的方法
  7. DP1363F国产替代CLRC663_支持NFC双向通信连接APP多协议远距离读写芯片
  8. SAP系统环境整体架构设计总结
  9. python3的spyder安装_Python开发环境Spyder安装教程
  10. 在线QuartzCron定时任务表达式在线生成