在2018年发布的arm Compiler 6.11实现了一个新的里程碑。
arm Compiler 6.11的主要亮点是:
在Cortex-M33上获得最佳CoreMark分数:3.96 CoreMarks / MHz。
支持最新的arm架构扩展。
在一些重要嵌入式工作负载上的性能改进。
增加对C ++ 14的支持。
arm新架构的早期支持
arm Compiler一直处于支持新架构和新内核的前沿,因此arm Compiler 6.11版本在汇编器中增加了armv8.5-A架构支持,支持了一些可选功能,如内存标记扩展,分支目标指令和随机数指令。
还有支持armv8.4-A和armv8.3-A扩展的更新,例如支持指针认证功能和半精度浮点融合乘法长指令。
arm Compiler 6.11支持Cortex-A76AE,这是一种新的基于Cortex-A76 的Split-Lock版本。
新的安全功能 - 堆栈保护
arm Compiler 6.11现在提供对堆栈保护的alpha支持,这是一种安全功能,可防止试图利用内存访问错误的攻击,从而提高系统的整体可靠性和完整性。这可以通过使用编译器选项-fstack-protector,-fstack-protector-all来开启。此外,您还可以使用-fstack-protector-strong,其工作方式与-fstack-protector类似,但范围更广,对任何类型本地数组和变量地址的引用都提供额外的保护功能。
性能显著提高
性能是工具链中不可或缺的一部分,arm始终不断努力和投资来提高所有工作负载的整体性能和代码密度。
arm Compiler 6.11对专注于信号处理(DSP)的特定嵌入式工作负载(如CMSIS-DSP和CMSIS-NN软件库)进行了重大改进。
它还在Cortex-M33上实现了同类最佳CoreMark得分3.96 CoreMarks / MHz,在所有领先的arm架构上展示了改进的CoreMark性能。
Cortex-M7的性能也得到了显着提升,与之前版本的arm Compiler相比,性能平均提高了8-10%。
关于代码密度,arm Compiler 6.11为AArch64代码提高了约3%。
可用性和授权
arm Compiler 6.11作为独立包提供。但是,它也可以作为以下集成工具包的一部分:
arm Development Studio
Keil MDK
所有上述产品必须合适的license才可以运行。请联系您的销售代表或查询许可证。
如果使用浮动license,license服务器必须运行armlmd和lmgrd版本11.14.1.0或更高版本。arm建议您始终使用最新版本的许可证服务器软件。
总结
arm编译器6.11提供广泛的产品和架构功能,包括改进的性能和问题的修复。有关修改列表和支持的功能,请参阅arm Compiler 6.11发行说明。你可以在arm Compiler 6.11 Documentation部分找到更多资源。
如果您正在使用arm Compiler 5.x并且计划迁移到arm Compiler 6,那么移植和兼容性指南会提供大量有用的信息和建议。
原作者:极术小姐姐
|