# ARM Compiler 6
Keil V5 默认的编译器 是 ARM 自家的 ARM Compiler Version 5 (下面称为 AC5), 编译速度是很大的问题,不过编译出来的大小还是可以让人满意的.
个人觉得 IAR 除了编译速度快,其实和 keil 差不多.
但是现在 ARM Compiler Version 6 (下面称为 AC6) 的出现使得 Keil 的编译速度大幅上升.
但是 从 AC5 切换到 AC6 并不是无缝切合的,需要进行一些配置.
我会在这篇博客记录,我 从 AC5 切换到 AC6 出现过的问题,也方便诸位小伙伴查阅.
# Keil 如何抛弃 AC6
在 keil 官方 是有很完整的一套说明的,诸位英语好可以自行看文档手册.
传送门
这里还有更加详细的文档: 传送门
我安装 的是 Keil 5.33
第一步,选择 AC6 编译器
第二步,配置 优化等级
优化等级配置为 O1
, 警告选择 AC5
级别,勾选 短枚举和 wchar
类型
第三步,修改汇编
这一步我们可以选择升级 CMSIS 的 pack 包,这样子我们新建的工程就可以直接进行编译了,
无需修改汇编代码.
如果,要修改老版本的代码,则需要自己去修改启动文件。和 __weak
等汇编代码
这里由于,代码量太多,我就不放了,诸位自行修改
到这一步,就可以直接编译了.
下面看看两个编译时间的对比
AC5:
AC6:
差不多快了 7 倍,而且所用的空间也明显减小了
# bug2: RT-Thrad 在 STM32CubeMx 移植
我在移植 RT-Thread 的 底层调度器会出问题,会被识别为 C 的源码
所以需要进行修改
对文件右键选择 Option for File''
选择汇编代码
这样子就不会出现 error 了
正在找其他 bug, 未完...
大道五十,天衍四十九,人遁其一!