STM32F4xxTemplate工程--编译器从AC5切换到AC6

STM32F4xxTemplate工程–编译器从AC5切换到AC6

参考工程为库函数版本SDK–Template工程

SDK版本:STM32F4xx_DSP_StdPerph_lib_V1.9.0
1、删除CMSIS头文件索引
在这里插入图片描述
2、配置Run-time环境
在这里插入图片描述
3、切换到AC版本
在这里插入图片描述
4、配置Warning和C语言版本
在这里插入图片描述
5、在上述配置的基础上编译不会报错但是会有一个警告
在这里插入图片描述
这是一个关于空循环的警告,需要去掉while函数后面的分号。
在这里插入图片描述
再全局编译就0错误0警告了。此时再切换回AC5编译同样正常。

### 解决STM32F103从MDK AC5切换AC6时启动文件编译错误 当从MDK AC5迁移到MDK AC6时,可能会遇到一些兼容性和配置上的差异,这些差异可能导致编译错误。以下是针对这些问题的具体解决方案: #### 配置工具链版本 确保项目设置中的工具链版本已更改为ARM Compiler 6 (AC6)[^1]。这可以通过以下路径完成:`Project -> Options for Target 'Target 1' -> C/C++ Tab -> Toolchain`. #### 更新启动文件 对于STM32F103系列微控制器,在使用AC6编译器时可能需要更新启动文件(`startup_stm32f103xb.s`)以适应新的语法和特性支持。通常情况下,ST官方提供了适用于不同编译器版本的启动文件。 如果当前使用的启动文件不是专门为AC6准备的,则建议下载并替为最新版的支持包中提供的对应文件。可以从ST官方网站获取最新的库和支持材料。 #### 修改链接脚本 检查项目的链接脚本(.ld),确认其与所选设备相匹配,并且遵循了AC6的要求。某些旧版本的链接描述符可能不再适用或需调整参数定义方式。 ```c /* Example of a modified linker script section */ MEMORY { FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 128K /* Adjust according to your device's flash size */ RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 20K /* And SRAM capacity */ } ``` #### 调整编译选项 部分编译警告级别、优化等级以及其他构建属性也需要重新评估,因为它们在两个编译环境之间可能存在细微差别。通过对比文档了解两者之间的主要变化点有助于减少潜在冲突。 #### 测试与验证 最后一步是在修改完成后进行全面测试,包括但不限于功能回归测试以及性能分析,确保迁移过程不会引入新问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值