一文弄懂BIN、HEX、AXF、ELF文件格式的区别

描述

数据量比较

从存储数据的信息量上看:ELF》AXF》HEX》BIN,所以这也就确定了只能将大信息量的文件格式向小信息量的文件格式转换,如只能将HEX文件转换为BIN文件,当然如果指定了下载地址,也可以将BIN转换为HEX文件。

BIN文件

bin文件是纯粹的机器码,没有地址信息,不能使用记事本直接打开,要使用bin文件阅读器才能打开,如果使用bin文件烧录程序时,需要指定下载地址。一些下载器只能使用BIN文件进行下载,在进行OTA远程升级时必须使用bin文件。

存储数据

HEX文件

一般是指Intel标准的hex文件,可以使用记事本直接打开,是十六进制数据,包含了基地址、偏移量、校验和、文件开始和结束标志等信息,与bin文件最大的不同就是包含了下载地址。由于hex文件是十六进制数据,而bin文件是二进制数据,如十六进制0xFF,用二进制表示为1111 1111,所以HEX文件要比bin文件大得多。与axf文件相比,不含调试信息,不能用于调试。

存储数据

AXF文件

包含了调试信息,如进行在Keil环境使用Debug功能时,就是先将axf文件下载到芯片内,才能进行调试。如使用J-Link的J-Scope功能时,必须使用axf文件。

ELF文件

是由GCC编译器生成的。elf文件可以直接转换为hex和bin,但hex和bin

例如Linux系统下使用gcc指令gcc -o test test.c生成的elf文件,可以通过。/test直接执行。

总结:

bin文件可以由hex和axf文件转换而来。

axf文件包含了调试信息。

hex文件包含了烧录地址,而bin文件不含,需要指定地址。

审核编辑 :李倩

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分