[STM32F7] 想使用STM32CubeIDE的GCC编译器来编译项目

[复制链接]
468|1
内核558 发表于 2025-10-6 22:22 | 显示全部楼层 |阅读模式
想用STM32CubeIDE的GCC编译器来编译项目,但程序占用了太多的Flash空间。GCC编译的优化选项是:
6500868e3d00ae078c.png

优化大小(-Os),编译结果如下:
6731268e3d01abd1ed.png

MCU Flash资源占用的大小为:text + data = 47264字节。

链接脚本.ld如下所示:问题:在我的程序中,.data段数据(初始化变量)不可能达到15K,理论上只有0x44字节的大小,这可以从map文件中看出,如下所示:
8086868e3d02b6fe02.png
我使用Keil编译了相同的项目程序,一切正常。是GCC编译器有问题?



dukedz 发表于 2025-10-7 10:43 | 显示全部楼层
  1. nm --print-size --size-sort --radix=d  build/*.elf
用 gcc 的 nm 命令,按照大小排序,可以找到是哪里有问题


pc 的 nm 或 arm-none-eabi-nm 都可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

54

帖子

0

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