TI中文支持网
TI专业的中文技术问题搜集分享网站

为什么同样的代码CCS占用的flash要比IAR的大很多

Other Parts Discussed in Thread:MSP430G2553

如题,使用msp430g2553,相同的代码,关闭所有优化,IAR编译出来11K左右,用CCS编译出来直接超16k ,G2553装不下了

看了一下编译log,发现CCS似乎生成了几个比较占flash的数学库,把程序中的float变量计算全部屏蔽,flash占用就差不多和IAR一样了

想问一下

1,CCS是不是比IAR加入了某些能加快数学计算的库,导致flash占用暴增(好几个K),有没有办法在CCS中禁用这些库的加入(毕竟我不差那点儿时间,现在在CCS下写程序不把优化开到最高,flash完全不够用,甚至得考虑换芯片方案了)

2,如果1不成立,那么有没有办法解决CCS下生成代码比IAR下大很多的问题

谢谢

另外,工程设置里有个运行时库,这里选了none好像没什么作用

吐槽一下CCS启动真的是太慢了,总感觉干啥都慢半拍

Susan Yang:

关于该问题,之前有过讨论,您可以先看一下

e2e.ti.com/…/519283

另外若是可以的话,请给出您的代码,谢谢

,

user3622935:

谢谢,读了一下你发的链接,获取到一个重要信息是给浮点数据后加上f修饰,告诉编译器是单精度浮点数,不然编译器可能会把浮点常量按照双精度处理导致引入其他奇怪的数学库。修改后的程序大小从17046字节暴减到10250字节,编译生成的map文件里显示由编译器引入的那几个库占用的flash从4000+字节减少了1000+字节。基本上来说问题解决了。

,

Susan Yang:

谢谢您的分享!

赞(0)
未经允许不得转载:TI中文支持网 » 为什么同样的代码CCS占用的flash要比IAR的大很多
分享到: 更多 (0)