兼容新旧项目代码:为新版 Keil MDK 安装 AC5 编译器并集成 CubeMX 完整指南
引言
在嵌入式开发中,Keil MDK(Microcontroller Development Kit)是广泛使用的集成开发环境之一。随着其版本迭代,自Keil MDK 5.38 版本起,官方移除了经典的 ARM Compiler 5(AC5),转而全面推广 ARM Compiler 6(AC6)。这一变化导致许多基于 AC5 编译器的旧工程无法直接在新版 MDK 中编译通过。为兼顾新项目开发与旧项目维护,本文将详细介绍如何在新版 Keil MDK 中手动安装 AC5 编译器,并附带 CubeMX 的安装与更新方法,确保开发环境的全面兼容性。
一、问题背景:AC5 与 AC6 的兼容性差异
AC5 编译器作为 Keil 长期使用的工具链,其语法检查、代码优化机制与 AC6 存在一定差异。AC6 基于 LLVM/Clang 框架,支持更高的 C/C++ 标准并提供更先进的优化,但也导致部分旧工程代码(尤其是涉及内联汇编或特定编译器指令的代码)需要调整才能编译通过。对于团队协作或长期维护的项目,直接升级编译器可能带来较大迁移成本,因此保留 AC5 编译选项具有重要实用价值。
最近有小伙伴向我反映我的代码工程编译报错,这可能是因为大家的keil5太新了,keil5自从5.38版本后就去掉了AC5编译器,而我的代码大部分比较老了,用的都是AC5编译器,故编译会报错,而正好本人最近也需要用到新版本的keil5,故找到了一个较新的版本keil5,并手动给它安装了旧版本的AC5编译器,这样我的keil5就即可运行我的AC6编译器新代码也可以运行我的AC5编译器旧代码了。故写了这篇文章希望能帮助到需要使用新keil5而又需要运行旧工程的人。
二、环境准备:所需资源清单
Keil MDK 安装包:建议使用 5.38 及以上版本(本文以 5.38 为例)。
AC5 编译器离线包:需包含完整的 ARMCC 工具链文件(可从历史版本或本文提供的资源中获取)。
CubeMX 安装包:建议准备基础版本,后续可通过内置更新功能升级。
Java 运行环境:CubeMX 依赖 JRE,需提前安装。
提示:本文所用资源已整理至百度网盘,包含 AC5 编译器文件夹、CubeMX 安装包及 Java 环境。请确保 AC5 工具链存放路径无中文或空格。
http://通过网盘分享的文件:keil5下载.zip 链接: https://pan.baidu.com/s/1Vfhzl36wC4Oaybe_IHFPhw 提取码: 0531
三、Keil MDK 安装与激活步骤
keil5安装还需要一个激活注册步骤,需要一个注册机,注册机我用完好像误删掉了,不过网上很多博主都有提供,大家可以去找找,而keil5的安装步骤也都是正常的下一步+换地址我就不细说了,大家可以参考下面链接的文章。
https://blog.csdn.net/qq_53430455/article/details/132732710?fromshare=blogdetail&sharetype=blogdetail&sharerId=132732710&sharerefer=PC&sharesource=m0_69153234&sharefrom=from_link
四、手动添加 AC5 编译器到新版 Keil MDK(重点)
接下来我们具体说说怎么给新keil5安装旧AC5编译器,首先打开一个keil5工程代码,然后先点击三个小方块,再按照下图步骤点击;
对了,记得提前将我提供的AC5编译器的文件夹复制粘贴到你的keil5安装目录的ARM文件夹里面;
然后找到刚刚复制粘贴的AC5编译器文件夹将它添加进来;
最后选择相应的编译器编译即可。
五、CubeMX 安装与更新指南
顺便再说一下cubemx的安装吧,和keil5一样无脑下一步即可,不放心的可以参考下面这篇文章,不仅介绍了安装方法也介绍了简单的使用方法。https://blog.csdn.net/qq_61228493/article/details/129995099?fromshare=blogdetail&sharetype=blogdetail&sharerId=129995099&sharerefer=PC&sharesource=m0_69153234&sharefrom=from_link
安装完成后,因为我提供的版本较老,大家可安装下面的步骤进行更新(记得以管理员身份运行软件才能更新)因为我的cubemx已经是最新版了,所以下图中的更新按钮是灰色的。
这次的分享就到这里了,希望对大家有帮助!求个三连不过分吧!
