5 gcc交叉编译器编译stm32项目代码,bin文件比keil编译的大很多。

发布于 2020-07-11 20:29:55

gcc-arm-none-eabi 编译 基于 rt-thread 的stm32工程,生成的目标bin文件过大。如,keil编译出来是200K左右,gcc编译出来有300K左右,大了很多。是不是因为c库的原因?纠结不知如何解决,请教一下。谢谢!

查看更多

关注者
0
被浏览
655
4 个回答
armink
armink 2020-07-12

C 库是一方面,也可以开启下 GCC 里的优化再对比一下

sgf201
sgf201 认证专家 2020-07-14

主要应该是优化问题,keil针对STM32的优化还是要正确认识的,毕竟这个逻辑上是花钱的,gcc是免费的,你可以让IAR生成的和KEIL生成的对比下,好像KEIL比IAR也牛

lizimu
lizimu 2020-09-20

在bsp目录的具体板子目录下的rtconfig.py文件看有如下代码

BUILD = 'debug'
...
if BUILD == 'debug':
        CFLAGS += ' -O0 -gdwarf-2 -g'
        AFLAGS += ' -gdwarf-2'
    else:
        CFLAGS += ' -O2'

可以尝试不用debug版本.

DJZ1992
DJZ1992 2020-10-22

是的,同样的代码,在stm32cubeide下是80K,到rt studio是99K。。。
开启优化等级2,也至少了2k,变成97k。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览