news 2026/4/23 8:16:07

兼容新旧项目代码:为新版 Keil MDK 安装 AC5 编译器并集成 CubeMX 完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
兼容新旧项目代码:为新版 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而又需要运行旧工程的人。

二、环境准备:所需资源清单
  1. Keil MDK 安装包:建议使用 5.38 及以上版本(本文以 5.38 为例)。

  2. AC5 编译器离线包:需包含完整的 ARMCC 工具链文件(可从历史版本或本文提供的资源中获取)。

  3. CubeMX 安装包:建议准备基础版本,后续可通过内置更新功能升级。

  4. 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已经是最新版了,所以下图中的更新按钮是灰色的。

这次的分享就到这里了,希望对大家有帮助!求个三连不过分吧!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 8:15:41

31、Linux系统安全与网络防护全攻略

Linux系统安全与网络防护全攻略 1. 数据加密与解密 在数据处理过程中,加密与解密是保障信息安全的重要手段。我们可以使用GPG工具来完成这些操作。 - 使用私钥解密 :US - CERT人员可以使用以下命令进行解密操作: gpg -o message --decrypt message.gpg执行该命令后,…

作者头像 李华
网站建设 2026/4/21 14:15:55

Spark命令行可视化:从数据到趋势图的终极指南

Spark命令行可视化:从数据到趋势图的终极指南 【免费下载链接】spark ▁▂▃▅▂▇ in your shell. 项目地址: https://gitcode.com/gh_mirrors/spark/spark 在当今数据驱动的时代,快速理解数据趋势变得至关重要。Spark作为一款轻量级命令行工具…

作者头像 李华
网站建设 2026/4/18 23:13:08

如何快速上手Sparta:网络基础设施渗透测试的完整指南

Sparta是一款强大的Python GUI应用程序,专门用于简化网络基础设施的渗透测试流程。这款工具由SECFORCE团队开发,通过直观的图形界面帮助安全测试人员在扫描和枚举阶段提高工作效率,让您能够更专注于分析结果而非繁琐的工具配置。 【免费下载链…

作者头像 李华