|
本帖最后由 党国特派员 于 2016-11-18 17:15 编辑 首先感谢ST,感谢社区,有幸拿幸运奖,拿了二块开发板。 随着Cortex-M23、Cortex-M33内核的推出,ARM的MDK又长级了,我也追上这个版本,下载试用,主要是体验下最新的ARM Compiler 6.6,之前早听说了CLang和LLVM也大概的了解些,虽然云里雾里,但是总体感觉就是编译速度快的不是一点,就好比汽车和火箭的区别。是真的嘛,今天就来体验一把。(还不知道Clang和LLVM的自行百度脑补)。 刚好手上有开发板,就测式下,这次选用的是NUCLEO-STM32F042的开发板,项目就随便开个项目(GPIO,USART)都可以。 使用STM32CubeMX生成基本的USART框架,就随便添加点代码。(不添加代码也是可以的)
配置编译器选项,分别选择V5.06 update4和V6.6。看了ARM官方文档,V5版本的已经停止开发,以后只维护。ARM推荐大家都使用V6版本的编译器
配置C/C++的选项
配置完成后点OK,然后编译项目
编译的时候选择Rebuild,保证每次都是全部重新编译。 看下V5.06的编译结果
V6.6的编结果
明显的结果对比 V5编译用了1分29秒,V6只用了24秒,一个天上一个地下。 有人说V6编译出来的代码有点大,那我们再选择最大代码优化试试Optimization (-Oz image size)
这次Rebuild只用了15秒,代码明显减小了,但是还没有达到V5的那么小。我觉得也可以了。V6出现了96个警告,可能是C99和gnu99标准不一样吧。 |
微信公众号
手机版
V5 和 V6选择-O3优化,V5用时1分29秒 V6用时24秒,都是全编译。
V6的话,你可以试试其它的几个编译选项。。。
用V6.6 把--c99这个选项要去掉。
另外你把gnu99换成c99再和V5的编译器结果对比下看看
V6 换C99编译要报错。编译通不过。
看了才知道要自己选的
但是改回默认的就不会报错。很奇怪。
有C11吗?
这种问题连ST都没测试吗
C11有,我没有测试,我测试gnu99是没有问题的。
有可能吧,C/C++有好些标准。