hex、bin、axf文件的区别

news/2025/10/12 22:35:50/文章来源:https://www.cnblogs.com/The-explosion/p/19137418

AXF 文件: 是编译器(如 ARM GCC, Keil, IAR)生成的调试文件。它包含最终的可执行机器码、调试信息(变量名、函数名、行号等)和丰富的元数据(如段地址)。主要用于调试。
HEX 文件: 是一种带有地址信息的标准烧录文件。它包含可执行机器码,并且每条记录都标明了其应该被烧录到的内存地址。格式是文本形式的,可读。
BIN 文件: 是一种纯二进制镜像文件。它只包含最原始的机器码数据,没有任何地址信息。它是体积最小的输出格式。

image

1. AXF 文件
  它是编译和链接的最终输出。 当你点击"Build"或"Compile"时,编译器生成的目标文件(.o)被链接器合并,最终生成的就是 AXF 文件(在GCC环境下通常是 .elf 文件,与 .axf 本质相同)。
  它是“最富有”的文件,包含了调试所需的一切。当你在 Keil 或 IAR 中进行单步调试、查看变量、设置断点时,IDE 正是在读取 AXF 文件中的调试信息来匹配机器码和你的源代码。
  在产品发布时,通常不会发布 AXF 文件,因为它体积庞大且可能泄露源代码结构。
2. HEX 文件
  它是一种标准化的交换格式。 因为它包含地址信息,所以烧录器(编程器)知道该把哪一段数据放到存储器的哪个地址。例如,它明确区分哪部分是代码(应该烧录到 0x08000000 的 Flash),哪部分是数据(应该烧录到 0x20000000 的 RAM)。
  它的结构是文本行,每行以冒号(:)开始,后面跟着字节数、地址、记录类型、数据字节和校验和。
  示例::10010000214601360121470136007EFE09D2190140
  由于有地址信息,它可以表示不连续的二进制数据块,这对于有中断向量表等特定地址要求的微控制器程序非常有用。
3. BIN 文件
  它是“最纯粹”的机器码映像。 它仅仅是将 AXF 文件中需要烧录到存储器的部分(通常是 .text, .data 段)提取出来,按顺序拼接成一个连续的数据流。
  它本身不包含任何地址信息。 这意味着你在烧录 BIN 文件时,必须手动指定烧录的起始地址。例如,告诉烧录工具将这个 BIN 文件烧录到 STM32 Flash 的起始地址 0x08000000。
  因为它没有冗余的地址、记录类型、校验和等文本信息,所以它的体积最小,在通过网络进行 OTA 固件升级时,可以节省带宽。

 下图清晰地展示了从源代码到可烧录文件的完整流程,以及各文件之间的关系:

image

 

如何选择?
  开发阶段: 使用 AXF 进行调试。
  生产烧录:
    如果烧录工具支持且方便,HEX 是更安全省事的选择,因为地址信息是自包含的。
    如果对文件大小非常敏感(如OTA),或者烧录工具/流程要求,则使用 BIN,但务必记住其烧录起始地址。
  OTA 升级: 通常使用 BIN 文件,以最小化传输数据量。升级程序会知道将接收到的 BIN 数据写入到存储器的哪个位置。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/935758.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20232417 2025-2026-1 《网络与系统攻防技术》实验一实验报告

1.实验内容 本次实验围绕 Linux 可执行文件 pwn1 的缓冲区溢出(BOF)漏洞与 shellcode 注入展开学习,核心是通过多种技术手段篡改程序执行流程,实现未授权代码执行。具体包括:直接修改程序机器指令,将 main 函数调…

2025黄金回收品牌TOP5权威榜单:值得信赖的高性价比厂家

2025黄金回收品牌TOP5权威榜单:值得信赖的高性价比厂家随着黄金市场的不断升温,黄金回收行业也迎来了新的发展机遇。越来越多的企业和个人开始关注黄金回收,希望通过这一渠道实现资产的有效管理和增值。然而,在众多…

P6005 [USACO20JAN] Time is Mooney G 题解

题目描述 Bessie 正在安排前往牛尼亚的一次出差,那里有 \(N\)(\(2 \leq N \leq 1000\))个编号为 \(1 \ldots N\) 的城市,由 \(M\)(\(1 \leq M \leq 2000\))条单向的道路连接。Bessie 每次访问城市 \(i\) 都可以赚…

3.2 优势演员–评论家算法(Advantage Actor-Critic, A3C)

优势演员–评论家算法(Advantage Actor-Critic, A3C)演员–评论家(Actor–Critic)算法 策略梯度定理提供了一种能够基于单步转移估计梯度的架构: \[\nabla_\theta J(\theta) = \mathbb{E}_{s \sim \rho_\theta, a…

20232326 2025-2026-1 《网络与系统攻防技术》实验一实验报告

20232326 2025-2026-1 《网络与系统攻防技术》实验一实验报告 1. 实验内容 1.1 缓冲区溢出漏洞核心定义:程序向预设缓冲区写入数据时超出容量,溢出数据覆盖相邻内存(如函数返回地址、栈底指针ebp),最终篡改程序执…

[数据分析/BI] Microsoft Power BI 使用指南

1 概述:Power BI 什么是 Power BI?Power BI 是由微软发布的一款商业智能(BI)软件,或者说数据分析工具。Microsoft Power BI 是一个完整的报表解决方案,通过开发工具和联机平台提供数据准备、数据可视化、分发和管…

机器人技术在现实世界中的挑战与创新

本文探讨了在现实环境中构建与人类互动的机器人系统所面临的技术挑战,包括开放世界的不确定性、持续学习、多机器人协作以及人机共存等问题,涉及机器学习模型优化、系统架构设计和安全交互等核心技术。机器人技术在现…

Motorola和Inter的区别

位的顺序 MSB: Most Significant Bit 最高有效位,一个二进制数的最左边的那一位,他拥有最高的权重,他的值是1还是0对整个数的影响最大。2的N-1次方。 LSB: Least Significant Bit 最低有效位,一个二进制数的最右边…

设计模式-行为型设计模式(针对对象之间的交互) - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

ROS2之TF

TFTF(Transform Frame) 是 ROS2 中用于维护多个坐标系之间空间关系的坐标变换系统。它可以实时跟踪机器人各个部分(如底盘、传感器、地图等)在三维空间中的位置与姿态,通过建立一棵动态的 坐标变换树(TF Tree),…

代码源2025长训

10/9 Day 16 A:非常可惜写的35pts暴力全部没分,也是神人了。首先需要一个小分讨,如果原树有双重心那么就会有如下情况:该边后的双重心不变和有可能改变;如果不变的情况就是说,对于双重心 \((u,v)\) ,我们加减边…

代码源国庆模拟赛

ABC 423 做题顺序a->b->c->d->c->d->c->e->d,吃了C*3+D*6共9发罚时,全部WA*1 C把一个减号左右两边写反导致出现负数爆炸了 D:能用prique别用set,常数大还会把元素去重,元素去重是很关键的…

CSP-S模拟30 2025.10.12

A. 灯若辰星 题面link 赛时 一眼看出\(F\)属于第一类斯特林数,但\(G\)死活找不出规律QAQ。 然后又没对\(F mod 2\)进行分讨,0pts遗憾离场。。。 正解 让我们分开求解 F 手搓几个样例可发现其中的递推关系 rt: 考虑以…

记录fiddler抓包mumu模拟器

fiddler设置设置完成后导出证书放入mumu模拟器的共享文件夹mumu模拟器设置 证书安装然后选中共享文件夹里的证书进行安装即可 代理设置代理主机名为电脑ip地址,代理端口为上述fiddler配置的端口号 配置完毕后即可抓包…

深入解析:2025年真实手机牧场CC攻击破防游戏盾?四维防御体系全面升级!

深入解析:2025年真实手机牧场CC攻击破防游戏盾?四维防御体系全面升级!pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family:…

神经网络读书报告

神经网络是模拟生物神经系统结构与功能的人工智能模型,其核心思想源于对人类大脑神经元连接机制的仿生设计。自 20 世纪 40 年代 “感知器” 概念提出以来,神经网络经历了 “兴起 — 低谷 — 复兴” 的多轮迭代,如今…

MinIO 介绍(2)--MinIO 客户端 mc 基本功能

本文主要介绍 MinIO 客户端 mc 的基本功能;文中所使用到的软件版本:mc RELEASE.2025-07-21T05-28-08Z、Centos 8.5.2111。 1、mc 介绍 1.1、mc 安装 这里主要介绍 mc 在 Linux 环境下的部署;可通过如下地址下载 mc …

关于UE5基础关卡创建的注意点

关于UE5基础关卡创建的注意点ue5 中解决一个一个map的加载问题(增加了开放世界支持),进行将整个单个map划分为多份map,来设定成为角色在哪个部分就加载哪个部分map制作一张新地图 选择open world组成了天气 第一个…