有关STM32烧录文件大小、keil中计算Flash与SRAM大小相关知识

本文详细解释了STM32中不同文件类型(如.axf,hex,bin)的用途,以及它们与Flash和SRAM大小的关系。重点介绍了如何在Keil和VSCode-GCC环境下计算代码和数据在Flash和SRAM中的分布,包括使用.map文件查看程序大小的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.文件类型与STM32中Flash大小、SRAM大小、Hex文件大小、Bin文件大小的关系

        axf文件、hex文件和bin文件都可以运行在stm32上,并且都存储了编译器根据源代码存储的机器码,在不同的应用场合中有区别;

  • axf文件:包含调试信息,编译默认生成的文件,不仅包含数据代码还包含调试信息,在MDK进行Debug就是这个文件;
  • hex文件:包含地址信息;
  • bin文件:最直接的代码映像;
  • Flash大小与Hex文件大小没有关系;

        一般串口烧录时,直接烧录的是Hex文件,所以可能误以为Flash大小和Hex文件大小有关系,实际完全没有关系,真正烧进去的是二进制文件,就是在Hex文件中包含的Bin文件数据

  • Hex文件大小和Bin文件大小没有决定性的关系

        Hex文件内容很多,其中包含Bin文件的二进制内容,很多软件都能把Hex直接转换成Bin文件,实际烧进去的是一堆Bin文件,而不是Hex

  • Flash大小和Bin文件大小相关

        Bin文件就是完全的程序文件了,也就是最直接的代码映像,可以说Bin文件大小就是Flash大小,ST-Link连接进去查看的Flash程序内容就是 和 PC用WinHex打开的内容一样

2-Keil中计算Flash与SRAM大小的分布情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程小白菜123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值