ARM编译器V6.15性能优化及注意事项

Posted strongerHuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARM编译器V6.15性能优化及注意事项相关的知识,希望对你有一定的参考价值。

作者 | strongerHuang


ARM编译器(Arm Compiler)V6.15相比V6.14改善了很多,在Keil MDK V5.33升级时候就有说明。

下面结合Keil MDK说说使用ARM编译器V6.15优化以及注意事项。

嵌入式专栏

1

基础配置

Keil MDK 配置 AC6编译:

ARM编译器V6.15性能优化及注意事项


配置优化选项:


嵌入式专栏

2

优化选项描述

AC6默认,默认值为-O0这种情况下,代码不做优化,适用于在线调试。


对于需要优化,但不是对速度和时间非常苛刻,通常建议使用-Os balanced


对于存储容量小的芯片,可以使用-Oz选项以获得最佳代码大小,此优化级别会降低调试体验。


对运行效率(时间)有要求的工程,可以使用-Ofast优化代码。


当然,如果使用armlink命令行,还有-Omin-Omax等选项。


AC6编译器的优化选项(含命令选项很多),这里可以参看我之前的一篇文章:


嵌入式专栏

3

AC6.15的注意事项

除了在Keil MDK中使用常规的优化选项之外,还有很多选项,在使用的时候需要注意。


比如:-Omin将自动启用armclang -flto选项,并且生成的目标文件不适合创建静态库。


使用-Omin-Omax时,Arm 无法保证在所有代码情况下都能实现最佳的代码大小优化。


启用-ffp-mode=fast armclang选项执行的积极优化可能会违反严格遵守语言标准的规定。


------------ END ------------


后台回复编译器Keil系列教程』阅读更多相关文章。


关注 微信公众号『嵌入式专栏』,底部菜单查看更多内容,回复“加群”按规则加入技术交流群。


点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

以上是关于ARM编译器V6.15性能优化及注意事项的主要内容,如果未能解决你的问题,请参考以下文章

STM32开发工具介绍及使用

如何在C或C++代码中嵌入ARM汇编代码

使用 ARM SIMD 指令优化掩码功能

优化系列汇编优化技术:ARM架构Intrinsic汇编优化及demo

arm cpu的架构及分类说明

DPDK的高性能代码及编译执行优化