> 文章列表 > axf文件、hex文件、bin文件区别

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

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

axf文件、hex文件与bin文件都可以运行在stm32,都存储了源代码通过编译器生成的机器码。

axf文件:编译默认生成的文件,包含代码数据和调试信息,在MDK里进行debug调试用的文件。

hex文件:使用十六进制符号表示的代码记录, 包含代码数据和地址信息,下载器可以根据地址信息辅助下载。

bin文件:二进制机器代码,包含代码数据,是直接的内存映象。根据axf文件生成的,需要指定地址信息。使用fromelf.exe文件,生成对应的bin文件。生成方法可参考我另一篇笔记。

文件大小:axf文件>hex文件>bin文件

hex文件存储内容格式:(使用记事本打开)

(1)每行以:起始,然后每两个字母是一个8bit的十六进制数;

(2)每行格式:AABBBBCCDD......DEE

        A代表数据长度,B代表数据存储地址,C代表数据类型,D代表数据,E代表校验和;

(3)C数据类型6种形式:数据记录00,文件结束01,扩展段地址02,开始段地址03,扩展线性地址04 (地址长度超过16bit),开始线性地址05

(4):00000001FF 文件结尾

boot和app代码合并:手动合并,注意地址区不能有重叠;