你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

感受ARM Compiler 6的威力(MDK 5.22)  

[复制链接]
党国特派员 发布时间:2016-11-18 13:05
本帖最后由 党国特派员 于 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框架,就随便添加点代码。(不添加代码也是可以的)
QQ图片20161118121743.png
配置编译器选项,分别选择V5.06 update4和V6.6。看了ARM官方文档,V5版本的已经停止开发,以后只维护。ARM推荐大家都使用V6版本的编译器
QQ图片20161118122049.png QQ图片20161118123021.png
配置C/C++的选项
QQ图片20161118122242.png QQ图片20161118123213.png
配置完成后点OK,然后编译项目
QQ图片20161118122427.png
编译的时候选择Rebuild,保证每次都是全部重新编译。
看下V5.06的编译结果
QQ图片20161118122823.png
V6.6的编结果
QQ图片20161118123458.png
明显的结果对比 V5编译用了1分29秒,V6只用了24秒,一个天上一个地下。
有人说V6编译出来的代码有点大,那我们再选择最大代码优化试试Optimization (-Oz image size)
QQ图片20161118124026.png
这次Rebuild只用了15秒,代码明显减小了,但是还没有达到V5的那么小。我觉得也可以了。V6出现了96个警告,可能是C99和gnu99标准不一样吧。

评分

参与人数 1 ST金币 +10 收起 理由
zero99 + 10

查看全部评分

收藏 3 评论47 发布时间:2016-11-18 13:05

举报

47个回答
党国特派员 回答时间:2016-11-18 15:48:04
moyanming2013 发表于 2016-11-18 15:13
我看图你两次都是-O3的优化啊
另外你把gnu99换成c99再和V5的编译器结果对比下看看 ...

V5 和 V6选择-O3优化,V5用时1分29秒 V6用时24秒,都是全编译。
党国特派员 回答时间:2016-11-18 17:07:26
奏奏奏 发表于 2016-11-18 16:50
看了才知道要自己选的自己动手试了一下LwIP的例程,按照楼主的设置报错不能生成目标文件,
但是改回默 ...

V6的话,你可以试试其它的几个编译选项。。。
党国特派员 回答时间:2016-11-30 11:36:44
wofei1314 发表于 2016-11-30 10:27
请教一下,按照你的设置,提示这个错误,咋解决?

ArmClang.exe: error: unsupported option '--C99'

用V6.6 把--c99这个选项要去掉。
zero99 回答时间:2016-11-18 14:08:42
感谢支持
moyanming2013 回答时间:2016-11-18 15:13:51
我看图你两次都是-O3的优化啊
另外你把gnu99换成c99再和V5的编译器结果对比下看看
党国特派员 回答时间:2016-11-18 15:46:15
moyanming2013 发表于 2016-11-18 15:13
我看图你两次都是-O3的优化啊
另外你把gnu99换成c99再和V5的编译器结果对比下看看 ...

V6 换C99编译要报错。编译通不过。
奏奏奏 回答时间:2016-11-18 16:50:52
本帖最后由 奏奏奏 于 2016-11-18 16:59 编辑

看了才知道要自己选的自己动手试了一下LwIP的例程,按照楼主的设置报错不能生成目标文件,
但是改回默认的就不会报错。很奇怪。
moyanming2013 回答时间:2016-11-18 17:55:28
党国特派员 发表于 2016-11-18 15:46
V6 换C99编译要报错。编译通不过。

有C11吗?
moyanming2013 回答时间:2016-11-18 18:03:12
党国特派员 发表于 2016-11-18 15:46
V6 换C99编译要报错。编译通不过。

这种问题连ST都没测试吗
党国特派员 回答时间:2016-11-19 12:37:07

C11有,我没有测试,我测试gnu99是没有问题的。
党国特派员 回答时间:2016-11-19 12:37:41
moyanming2013 发表于 2016-11-18 18:03
这种问题连ST都没测试吗

有可能吧,C/C++有好些标准。
zhangxu56726 回答时间:2016-11-19 13:51:36
给个链接下载啊
小小超 回答时间:2016-11-19 14:07:08
支持一下!!!
zbber 回答时间:2016-11-19 14:31:10
好帖子顶一顶!感谢楼主
zengyi703-16313 回答时间:2016-11-20 08:26:31
有空体验一下
1234下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版