引言
在嵌入式开发中,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已经是最新版了,所以下图中的更新按钮是灰色的。
这次的分享就到这里了,希望对大家有帮助!求个三连不过分吧!