转载请注明出处:http://www.liwei360.net/constyu/blog 

在很多应用中,受限于芯片Flash大小,会将优化打开以尽量减小生成目标文件的大小,但是个别极端情况下,即便优化等级设置到最高,也未必能满足用户需求,那KDS有没有其他手段进一步缩小生成目标文件大小呢?有客户遇到这个问题,于是笔者自己摸索了一番,找到一种方法。

  • 测试的硬件平台:FRDM-KL25
  • 测试的软件:KL25 KSDK hello world例程

1. 默认KEIL生成的文件大小为62161.png

2. 默认KDS生成的文件大小为87642.png

3. 可以看到同样的代码两者相差1.4倍,那如何将KDS的code size减小呢?3.png

4. 使能后,代码大小降为6572,相比较KEIL差别5%4.png

-flto选项的含义见如下链接,此处不再赘述其含义。

http://infocenter.arm.com/help/topic/com.arm.doc.dui0773b/DUI0773B_software_development_guide.pdf