BIN文件和HEX文件差异
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文件差异相关推荐
- BIN文件和HEX文件互转合并
因需要使用阿莫脱机下载器制作STM32脱机下载文件,而配置文件部分只有bin格式的,整合不了,所以需要把bin文件转化为hex文件. 参考了:BIN 文件转换为 HEX 文件 - 何亚斌的博客 (go ...
- axf文件、hex文件、bin文件区别
axf文件.hex文件与bin文件都可以运行在stm32,都存储了源代码通过编译器生成的机器码. axf文件:编译默认生成的文件,包含代码数据和调试信息,在MDK里进行debug调试用的文件. hex ...
- bin文件和hex文件互转
对于嵌入式而言,hex文件可能大家再熟悉不过了,对,我们大学时学习的51单片机编写的代码在keil上编译后就生成了hex文件.那bin文件又是什么意思呢,它又和hex文件的区别在哪?这也不是本文的重点 ...
- BIN文件与HEX文件比较
BIN文件与HEX文件比较 其实本质上这两种文件时一样的,都是供CPU执行的,但是HEX文件有一定的格式(如图所示). 这时最根本的差别,还有就是BIN文件的68(图片箭头所指处)是16进制表示的,但 ...
- S19文件和HEX文件解析
目录 一.S19文件解析: 1.记录类型 2.长度计算 3.地址 4.数据 5.校验和及计算 二.HEX文件解析 1.记录类型 2.起始地址 3.数据长度 4.校验和 一.S19文件解析: S19文件 ...
- jflash合并stm32f103之bin文件及hex文件
合并bin格式文件: 1.file-> open data file, 选择boot文件, 地址从8000000开始. 2.file-> merge data file, 选择app文件, ...
- STM32-MDK V5 生成bin文件和hex文件
.axf文件 MDK 下默认生成的烧录文件为.axf文件,文件路径: D:\COINV_STM32\HJJC\STM\MDK-ARM\STM .bin文件 生成方法,如下图所示: 1.打开 Optio ...
- 使用hex6x.exe将out文件生成hex文件方法
首先你要有*.cmd文件和hex6x.exe和*.out文件. 其中out文件是上面一篇中提到的,在CCS里面编译成功的输出文件*.out. *.cmd文件,里面的内容是这样的: debug\SEED ...
- Bin文件和Hex文件相互转换
bin to hex: #!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名:server.pyimport sys import os import pyp ...
- C# 学习笔记(12)hex文件转bin文件小工具
C# 学习笔记(12)hex文件转bin文件小工具 hex文件格式 hex文件格式网上有很多 我这里参考HEX文件格式详解https://blog.csdn.net/weixin_39752827/a ...
最新文章
- 根据时间比较选择数据
- Android Wear开发 - 数据通讯 - 第二节 : 数据的发送与接收
- SAP ABAP ALV(LVC)的一个自定义事件(F4帮助事件,回车ENTER按钮事件)的一个实例
- element UI 单选框设置默认选中值
- C++框架_之Qt的信号和槽的详解
- 笔记本屏幕出现横条纹_笔记本支架+拓展坞+立式无线充:给你的桌面一个简单的品质升级...
- 无论是否使用Spring Framework,为什么我们会失败?
- echarts tooltip被遮挡_echarts 的tooltip定位到当前图,避免溢出和遮挡
- 【Kafka】kafka AdminClient 闲时关闭连接
- 【Linux】Linux的关机和虚拟机克隆、快照
- python——画伪彩图、设置彩色图例
- 14-08-08 考核试题总结~
- Charles抓包工具
- ecno是什么的缩写_nbcs是什么意思的缩写?
- 《管理学》课堂笔记(领导)
- cl.clus pw index.php,Application Essay 写作 第五课 Introductions and Conclus
- 今日恐慌与贪婪指数为18 恐慌程度有所缓解
- Python如何快速爬取淘宝MM呢?教你一招
- 论文投稿指南——中文核心期刊推荐(航空、航天)
- python speed为0但是速度过快_python代码加速