axf文件、bin文件、hex文件区别与联系

        看到axf文件有的人就会想到elf文件,我们可以将它们看成一样的。在有的编译器经过链接之后生成的是axf文件、有的编译器经过链接之后生成的是elf文件。所有的.o、 .elf、 .axf 文件都是属于目标文件,它们都是使用 ELF 格式来存储的。ELF格式还是有点复杂的,感兴趣的同学可以了解一下。

        bin文件、hex文件可以由elf文件、axf文件转换得来。

1、bin文件

        bin文件就是二进制文件,里面不包含任何的描述信息,代码程序写的是啥,这个文件内容就是啥,FLASH内容存储的数据是啥,bin文件展示的就是啥。

        由上图(仅仅展示了一部分)可以看出第一个32位数据是080a 0020 由于STM是采样小端存储的,所以实际数据是0x2000_a080,第二个数据是4501 0008,实际数据是0x0800_0145。通过超级详细讲解stm32f10x系列的启动文件(一)https://blog.csdn.net/weixin_52803467/article/details/141360184?spm=1001.2014.3001.5501(二)
https://blog.csdn.net/weixin_52803467/article/details/141387565?spm=1001.2014.3001.5501文章的学习,我们知道从FLASH开始启动的话,第一个地址是0x0800_0000,存储的内容是栈顶指针地址,第二个地址0x0800_0004存储的是Reset_Handler地址,该函数地址是0x0800_0145(这个数字是不是很熟悉??)。

2、hex文件

        hex文件是一种十六进制表示的代码记录。Hex文件不同于bin文件,记录了很多辅助信息,比如存储的地址,还有校验信息等等。

        hex文件格式有兴趣的朋友可以学一下(还是很简单的),如上图所示(仅仅展示了一部分),红色框标准的就是存储的第一个、第二个信息。分别是:080A0020,45010008,实际数据是0x2000_A008和0x0800_0145。是不是和bin文件的信息一样??

3、axf文件

        axf文件不仅仅包含代码数据,还包含了工程的各种信息,复杂程度很高,所以他的文件大小也是最大的。

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

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值