[STM32F3] ROM 和 RAM 使用总量

[复制链接]
208|5
cutfall 发表于 2025-10-23 16:30 | 显示全部楼层 |阅读模式
我在两个不同的 IDE(Keil 和 STM32CubeIDE)中编译了同一个项目。为什么它们显示的 RAM 和 ROM 使用量不同。为什么这些 IDE 之间会存在差异呢?应用代码是相同的,而且两个 IDE 的 HAL 代码都是由 STM32CubeMX 生成的。
Keil 的映射文件显示:
Total RO Size (Code + RO Data)        21156 ( 20.66kB)

Total RW Size (RW Data + ZI Data)       2360 (  2.30kB)

  Total ROM Size (Code + RO Data + RW Data)   21284 ( 20.79kB)
STM32CubeIDE显示


2802268f9e74212a4e.png
cr315 发表于 2025-10-24 10:08 | 显示全部楼层
编译器优化差异
cr315 发表于 2025-10-24 10:09 | 显示全部楼层
Keil和STM32CubeIDE默认的编译器优化选项可能不同,导致生成的代码大小和变量布局有差异。
duo点 发表于 2025-10-24 11:10 | 显示全部楼层
统一编译选项,在两个IDE中设置相同的优化级别、调试信息选项和堆栈大小。
elephant00 发表于 2025-10-24 10:11 | 显示全部楼层
用相同工具链,在CubeIDE中配置使用ARM Compiler,或导出Keil项目为Makefile格式在CubeIDE中编译。
flycamelaaa 发表于 2025-10-24 16:12 | 显示全部楼层
统一优化选项和链接器脚本
您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

59

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部