STM32几种特殊格式文件

介绍

下面是STM32代码编译生成的几种特殊格式的文件,开发中经常遇到,每种文件都有不同的作用

文件格式

rt-thread.axf是MDK IDE编译生成的带调试信息的可执行文件,里边记录了大量的函数、变量符号表等

rt-thread.elf 是GNU ARM编译生成的可调试程序文件,里边带有大量的调试信息符号表,可以使用objdump命令查看符号表

Plain 复制代码
arm-none-eabi-objdump.exe -a rt-thread.elf

rt-thread.map:内存映射文件,各种FLASH和RAM、函数以及变量的映射关系

rtthread.bin:单纯的二进制执行代码,甚至没有地址信息

rtthread.hex:带地址的十六进制可行性代码文件

rt-thread.lnp:链接文件,告诉链接器如何把各部分的二进制代码组织拼接起来

转换关系

首先axf和elf都是通过编译器链接生成的(下图是elf文件)

axf生成bin

axf通过FromELF生成hex,要手动勾选,hex文件一般在出厂烧录时有用

elf通过objcopy生成bin

区别

  1. hex和bin:前者带地址信息,后者没有
  2. axf和elf:都是带调试信息的可执行文件,前者是ARM定义的,后者是GNU定义的
  3. bin和elf,后者有调试信息,前者没有
相关推荐
JWASX1 天前
【Go】map 源码解析 - group
后端·golang·map·源码分析
world781122612 天前
【C++】set 和 map
java·前端·c++·set·map
CodeYp201913 天前
第16讲:set 和 map 的使用
开发语言·c++·set·map
阿昭L16 天前
从PT_LOAD到虚拟内存:ELF 段为什么要匹配页内偏移
elf
for_ever_love__22 天前
Map-Reduce 式全文问答:当文档超出上下文时的分而治之
人工智能·map·汇总·分块·rag·reduce·长文
进击的荆棘1 个月前
Linux系统——库的原理与制作之ELF文件的形成与加载的过程(上)
linux·elf·动静态库
Lucis__1 个月前
深入理解程序链接与加载—从动静态链接到库加载
linux·elf·链接·程序·动静态库
XLYcmy1 个月前
基于图神经网络的物联网固件漏洞静态挖掘技术方案 上
神经网络·物联网·网络安全·二进制·elf·漏洞检测·固件
一只老小白1 个月前
ELF 文件格式从魔数到动态链接:读懂 Linux 可执行文件的每一字节
linux·elf·可执行文件·链接器·二进制格式
handler012 个月前
【Linux】ELF、链接与动态库,程序装载全解析
linux·运维·服务器·chrome·c·elf·文件