打开基于标准库的 STM32 工程时,编译报错:
TextTarget uses ARM-Compiler Default Compiler Version 5 which is not available
原因:MDK 5.37 及以上版本的官方安装包已移除 ARM Compiler 5(ARMCC),而旧项目(标准库工程)依赖 AC5 编译链,直接打开会因编译器缺失而无法编译。
适用场景:Keil MDK 5.37 及更高版本默认仅搭载 AC6 编译器,缺少 ARMCC V5,打开旧标准库 STM32 工程时报编译器缺失错误。
推荐版本:ARM Compiler 5.06 update 7 (build 960) —— Keil 官方发布的最后一个 AC5 稳定版本,兼容几乎所有标准库工程。
💡 进入页面后选择 r5p6-06rel1 → 下载 Arm Compiler 5.06 update 7 (build 960) Win32
若官网下载速度较慢,可在搜索引擎搜索 "ARMCompiler_506_Windows_x86_b960" 寻找可靠镜像。
右键 Keil uVision5 快捷方式 → 【打开文件所在位置】
示例路径:C:\Keil_v5
ARMCompiler_506_Windows_x86_b960.zip,找到 setup.exesetup.exe → 以管理员身份运行I accept the terms → NextARM 文件夹,新建文件夹命名 ARMCCC:\Keil_v5\ARM\ARMCC必须安装到此路径,否则 Keil 无法自动识别编译器
Launch ARM Compiler Documentation,点击 FinishProject → Manage → Project Items...Use ARM Compiler,点击右侧 ...(Setup 按钮)C:\Keil_v5\ARM\ARMCC,确认V5.06 update 7 (build 960) = 识别成功,关闭弹窗保存如果列表为空,请检查安装路径是否正确,或重启 Keil 后重新添加。
V5.06 update 7 (build 960)切换后工程将使用 ARMCC V5 编译,标准库代码应能够正常编译通过。
检查安装路径是否放置在 Keil_v5\ARM\ARMCC 目录下;关闭 Keil 重启后重新添加路径。
安装程序、Keil 全部 以管理员身份运行。
AC5 与 AC6 语法标准不同,标准库老工程 必须使用 V5;CubeMX 新工程推荐使用 AC6。
不要将安装包或 Keil 放置在 桌面、中文用户名文件夹 下,全程使用纯英文路径。
重新编译工程,观察编译日志输出:
TextUsing ARM Compiler V5.06
无版本缺失报错,工程正常生成目标文件,即为配置完成。
验证要点:
Using ARM Compiler V5.06compiler not available 错误.hex 或 .axf 目标文件小提示:建议在工程 Options → Target 中将编译器版本固定为 V5,避免切换工程时误触默认设置。