bin、hex、axf和elf文件格式
参考文章:https://www.eet-china.com/mp/a37431.html
在嵌入式软件开发中,bin、hex、axf和elf这四种格式的文件很常见。
bin文件
bin 是 binary 的缩写,直白的翻译即为二进制文件。 bin 是一种最简单的程序文件,只有程序数据。
因此我们在下载 bin 程序文件的时候,必须要设置起始地址,比如:通过STM32 ST-LINK Utility工具下载bin文件:
hex文件
hex 格式文件由 Intel 制定的一种十六进制标准文件格式,是由编译器转换而成的一种用于下载到处理器里面的ASCII文本文件。
hex行格式:
hex不可修改起始地址(文件中包含地址信息):
axf文件
axf格式文件是针对ARM编译器的一种格式文件,它是由 ARM 编译器产生。
axf文件除了包含程序数据(bin)和地址(hex)等数据之外,还包含调试信息。
axf文件内的调试信息附加在程序文件中,有助于分析和调试。
elf文件
ELF: Executable and Linkable Format,可执行与可链接格式。elf是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的,也是Linux的主要可执行文件格式。
elf文件和bin、hex、axf文件同样属于可执行文件这一类,但是他们之间差异还是很大,elf文件包含的信息更多,也更复杂。
elf格式文件由四部分组成:
ELF header:ELF头
Program header table:程序头表
Section:节
Section header table:节头表