关于Keil MDK 默认编译器选项的设置 AC5 与 AC6

当创建一个新项目时,以下规则适用于相关的Arm编译器:

对于基于Armv8-M的设备(Cortex-M23/M33/M35P/M55/M85和Star-MC1),选择Arm Compiler 6,这是唯一的选项。
对于Armv6-M (Cortex-M0/M0+)和Armv7-M (Cortex-M3/M4/M7),选择Arm Compiler 6,也可以选择使用Arm Compiler 5。
对于旧版本内核(Arm7, Arm9, Cortex-R4(F)),选择Arm Compiler 5,这是唯一的选项。

在这里插入图片描述

推荐选择 Use default compliler version 5 或 Use default compliler version 6 选项,而非具体某一个版本的编译器,以防止其他人或同事使用不同版本的Keil MDK打开时,找不到你当前选用的编译器版本,以增强项目工程的兼容性。

在这里插入图片描述
BTW 顺便聊一聊关于Keil MDK 中 AC6 与 AC5 的问题,在Keil MDK中,AC5(Arm Compiler 5)和AC6(Arm Compiler 6)是两个不同的编译器版

Arm Compiler 5 (AC5):

AC5是较早的编译器版本,它使用armcc作为编译器。
它支持Cortex-M处理器,并且对于许多现有的项目来说,它是一个稳定且广泛使用的编译器。
AC5在新版本的Keil MDK中不再默认安装,需要单独下载和安装。

Arm Compiler 6 (AC6):</

### 关于 Keil v5 AC5 编译器文档及相关问题 #### 文档资源 Keil MDK 提供了详细的官方文档来帮助开发者了解和配置其工具链中的各个组件。对于 Arm Compiler 5 (AC5),可以通过访问 [Arm 官方网站](https://developer.arm.com/tools-and-software/embedded/keil-mdk/arm-compiler) 获取完整的编译器手册和技术指南[^1]。 如果需要更具体的指导,可以查阅《Keil MDK User Guide》以及《Arm Compiler 5 Reference Guide》,这些文档通常随软件一起提供,或者可以从官网下载最新版本。 --- #### 解决方法:安装并启用 AC5 编译器Keil MDK 5.37 起,默认情况下不再预装 AC5 编译器,因此可能会遇到如下错误提示: > *** Target 'STM32xxxx' uses ARM-Compiler 'Default Compiler Version 5' which is not available. 要解决此问题,需手动安装 AC5 编译器。以下是具体的操作流程说明(基于引用内容整理): 1. **启动安装程序** 打开 Keil MDK 的安装文件或更新管理器,进入附加组件部分查找 `Arm Compiler 5` 并勾选安装选项[^2]。 2. **完成安装后验证** 操作完成后,重新启动 MDK 工具,此时可以在项目设置编译器选项中找到已成功安装的 Arm Compiler 5.x 版本[^3]。 需要注意的是,某些旧版工程可能仍依赖特定版本的 AC5(如 5.06u7),建议根据实际需求选择合适的子版本进行安装。 --- #### 使用注意事项 当切换至 AC5 编译器时,请注意以下几点: - 配置路径:确保项目的工具链路径指向正确的 AC5 文件夹位置。 - 兼容性测试:针对不同硬件平台运行调试,确认无潜在兼容性隐患。 - 更新驱动库:若使用 STMicroelectronics 等厂商的标准外设库,则应同步升级到支持 AC5 的版本。 此外,尽管 AC5AC6 均属于同一产品线下的编译器系列,但由于两者内部实现机制存在差异,在迁移过程中难免会出现一些细微差别,比如语法解析严格度调整或是优化策略改变等问题。 --- ```c // 示例代码片段展示如何定义中断向量表以适配 STM32 微控制器架构特性 __attribute__((section(".isr_vector"))) const uint32_t vectors[] = { /* 初始堆栈指针 */ (uint32_t)&_estack, /* 复位处理函数入口地址 */ (uint32_t)&Reset_Handler, // ...其他异常和服务请求映射项... }; ``` 上述例子展示了通过指定存储区域属性的方式定制化嵌入式系统的引导加载过程,这是利用 C/C++扩展功能的一个典型应用场景之一。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值