配置AC5(ARM Compiler 5)编译器

前面我们按照了Keil MDK 版本,但是上面只有AC6(全称是ARM Compiler 6)编译器,老版本的AC5编译器没有集成上去,如下图:可以看到Compiler Version 5处于Missing的状态,而Compiler Version 6是可以使用的状态,而且可以选择版本为V6.22版本:

需要我们自己手动添加,那么为什么我们还要使用老版本的AC5编译器呢?

许多传统嵌入式项目(如基于Keil MDK或IAR的工程)依赖AC5的特定语法或编译指令。迁移到AC6或GCC可能需重构代码,而AC5能无缝兼容旧项目。部分芯片厂商提供的SDK和库文件(如STM32 HAL库早期版本)也仅完整支持AC5。

AC5提供更细致的错误检查和调试信息,例如堆栈溢出检测、内存访问违例的实时报告。其生成的符号文件与ARM架构的调试器(如ULINK、J-Link)深度集成,便于进行低层级问题排查。

虽然ARM主推AC6(基于Clang/LLVM),但AC6的优化策略差异可能导致性能回退。在混合开发环境中,保留AC5作为备选编译器可对比生成代码的质量

最常见的问题就是 有些老项目必须使用AC5编译器,才不会报错,而使用AC6编译器就会报一堆错误

一,解析AC5编译器文件路径

安装AC5编译器很简单:只需要把AC5的相关文件,放到AC6的同一级文件目录之下

我们先看看AC6文件在Keil的哪个地方:ARM下的ARMCLANG就是AC6编译器所在文件:

也就是说我们需要把AC5的文件移动到ARM之下

接下我们解压AC5的文件夹:

打开看看:

发现出现了两个ARMCC ,但是对比AC6的文件结构,我们应该知道要将文件2移动到ARM下面:

二,安装AC5编译器

完成了AC5的文件移植,下面还要在Keil里面配置一下,才能使用AC5编译器,按照下图操作:相信如果理解了前面的路径解析 下面的操作就很容易理解了

点完ok后

如果按照下图,你能找到v5.06,说明AC5安装成功

相关推荐
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
Lester_11015 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元5 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133975 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315205 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
古译汉书5 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
Alaso_shuang5 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
2501_918126915 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
z20348315205 天前
STM32F103系列单片机定时器介绍(一)
stm32·单片机
星马梦缘5 天前
驱动层开发——蜂鸣器驱动
stm32·单片机·嵌入式硬件·hal·驱动