news 2026/10/8 3:23:58

兼容新旧项目代码:为新版 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/10/7 10:35:52

【上海交通大学主办 | 连续6年IEEE出版 | 连续5届快速检索-往届会后3个月EI, Scopus检索 | 设优秀评选】第六届IEEE信息科学与教育国际学术会议(ICISE-IE 2025)

【快检索 | 高录用 | 连续5届快速 EI, Scopus, IEEE Xplore检索】 第六届IEEE信息科学与教育国际学术会议(ICISE-IE 2025) 2025 6th International Conference on Information Science and Education 大会时间:2025年12月26-28日 大会地点…

作者头像 李华
网站建设 2026/10/7 15:25:37

区块链核心知识点梳理(8)-钱包与账户体系

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录8. 钱包与账户体系8.1 钱包与账户的关系8.2 密钥生成流程8.2.1 完整生成过程8.2.2 代码实现8.3 HD 钱包(分层确定性钱包)8.3.1 BIP32/BIP39/B…

作者头像 李华
网站建设 2026/10/7 4:33:29

如何快速开展中小学AI教育:完整的AI通识课程指南

如何快速开展中小学AI教育:完整的AI通识课程指南 【免费下载链接】ai-edu-for-kids 面向中小学的人工智能通识课开源课程 项目地址: https://gitcode.com/datawhalechina/ai-edu-for-kids 在数字化浪潮席卷全球的今天,中小学AI教育已成为培养未来…

作者头像 李华
网站建设 2026/10/8 3:59:15

LeetCode 6. Z 字形变换 | 详细题解(附 C++ 代码)

一、题目描述 题目链接:LeetCode 6. Z 字形变换 题目要求 将字符串 s 按指定行数 numRows 排成Z 字形(先从上到下,再从右到左斜向上),然后从左到右逐行读取,输出新字符串。 示例演示 输入:…

作者头像 李华
网站建设 2026/10/8 3:03:15

22、Linux 系统基础管理入门指南

Linux 系统基础管理入门指南 1. 系统管理任务概述 系统管理涵盖了维持计算机系统正常运行的各项任务,系统可以是独立的客户端机器、支撑企业运营的网络服务器,或者介于两者之间的其他形式。系统管理员负责处理这些任务,确保系统按需求运行。 系统管理员的职责包括: - 添…

作者头像 李华
网站建设 2026/10/8 2:48:31

2026年大模型应用开发学习路线:四阶段转型指南,抓住未来3年的职业发展机遇!转AI大模型开发学习顺序真的很重要!

简介 文章指出大模型技术正在重塑IT行业,企业招聘要求大模型能力已成为趋势。为帮助程序员成功转型,文章提出了四阶段学习路径:大模型基础、RAG应用开发工程、大模型Agent应用架构、大模型微调与私有化部署。强调学习顺序的重要性&#xff0…

作者头像 李华