与V6.14相比,ARM编译器(ArmCompiler)V6.15有了很大改进,将在升级KeilMDKV5.33时进行说明。
让我们一起讨论将ARM编译器V6.15优化和注意事项与KeilMDK结合使用。
嵌入式列1基本配置KeilMDK配置AC6编译:配置优化选项:嵌入式列2优化选项说明AC6默认,默认值为-O0。
在这种情况下,代码没有经过优化,适合于在线调试。
为了进行优化,但对速度和时间的要求不是很高,通常建议使用-Osbalanced。
对于存储容量小的芯片,可以使用-Oz选项来获得最佳的代码大小。
此优化级别将减少调试经验。
对于需要运行效率(时间)的项目,可以使用-Ofast来优化代码。
当然,如果使用armlink命令行,则有-Omin和-Omax之类的选项。
AC6编译器优化选项(包括许多命令选项),请在此处参考我的上一篇文章:AC5和AC6优化选项的重要内容和差异嵌入式专栏3AC6.15注意:除在KeilMDK中使用常规优化选项外,还有许多选项,在使用它们时需要注意。
例如:-Omin将自动启用armclang-flto选项,并且生成的目标文件不适合创建静态库。
当使用-Omin和-Omax时,Arm不能保证在所有代码情况下都能实现最佳的代码大小优化。
通过启用-ffp-mode = fastarmclang选项执行的主动优化可能会违反严格遵守语言标准的规定。