STM32Cubemx配置生成 Keil AC6支持代码

一、前言

使用keil ARM compiler V5的时候,编译一个大项目,所花的时间太长了,如果是小项目那就没有什么差别。 ARM compiler V6的编译速度会比AC5快5倍以上。现在记录一下所配置的过程

二、AC 6配置

2.1 ARM ComPiler 选择AC6

在这里插入图片描述

2.2 AC6 UTF-8的编译命令会报错

如果使用的是UTF-8 我们通常会在 Options For TarGetC/C++Misc Controls 里面会填入

--no-multibyte-chars

需要改成

-finput-charset=UTF-8

三、STM32Cubemx 配置

STM32Cubemx 生成FreeRTos 的代码时会报错,需要修改一下,让STM32Cubemx生成支持AC6版本的代码

3.1 找到stm32cubemx的模板位置

打开 stm32cubemxProject ManagerFirmware Relative Path

在这里插入图片描述

3.2 替换文件内核文件

\STM32Cube_FW_F4_V1.27.1\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F里面的文件内容 全部替换

STM32Cube_FW_F4_V1.27.1\Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F

里面的内容

3.3 修改 cmsis_os.c文件

如果你是 F4 的芯片还需要做一步,F1的板子就不需要这一步,直接重新生成就可以了

文件目录 STM32Cube_FW_F4_V1.27.1\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS

#elif defined ( __GNUC__ )

  #define __ASM            __asm                                      /*!< asm keyword for GNU Compiler          */
  #define __INLINE         inline                                     /*!< inline keyword for GNU Compiler       */
  #define __STATIC_INLINE  static inline

  #include "cmsis_gcc.h"

修改成

#elif defined ( __GNUC__ )

  #define __ASM            __asm                                      /*!< asm keyword for GNU Compiler          */
//  #define __INLINE         inline                                     /*!< inline keyword for GNU Compiler       */
//  #define __STATIC_INLINE  static inline

  #include "cmsis_armclang.h"

已经修改完成直接重新生成就行了。

3.4 修改本地

如果不想动STM32cubemx的文件代码,那么可以修改工程的代码

工程文件夹\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS替换为

STM32Cube_FW_F4_V1.27.1\Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F

修改 工程文件夹\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS的文件

四、编译对比

在这里插入图片描述

### STM32CubeMXKeil 的安装及集成 #### 一、STM32CubeMX 安装过程 STM32CubeMX 是一款用于配置基于 Arm Cortex-M 内核的 STM32 微控制器的应用程序。该工具允许用户通过图形界面初始化外设并生成 C 初始化代码。 为了成功安装 STM32CubeMX,需先准备合适的环境: - **Java 运行环境**:由于 STM32CubeMX 需要在支持 Java 的环境中运行,因此需要提前安装 JDK 或 JRE 版本[^1]。 - **下载 STM32CubeMX**:可以从官方网站获取最新版本的 STM32CubeMX 软件包,并按照官方指南完成下载操作[^2]。 - **安装 STM32CubeMX**:启动安装文件后,遵循向导提示逐步设置应用程序路径和其他选项直至结束。在此过程中还需要下载相应的固件库来匹配所使用的微控制器型号。 ```bash # 示例命令 (仅作示意, 实际无需执行) java -version ``` #### 二、Keil MDK 安装指导 Keil MDK(Microcontroller Development Kit)是一套完整的开发工具链,专为嵌入式应用设计,特别是针对 ARM 架构处理器。它包含了编译器、链接器、调试器等功能模块。 对于 Keil 的安装流程如下所示: - 访问官网注册账号并登录,在线购买或申请评估版授权许可; - 根据操作系统选择对应的安装包进行本地部署; - 执行安装脚本,默认接受协议条款继续下一步骤直到完成整个过程; 注意:确保计算机已连接互联网以便激活许可证密钥验证服务。 #### 三、两者间的项目同步机制 当利用 STM32CubeMX 创建新工程时可以选择目标 IDE/Toolchain 类型为 AC6 GCC for ARM 或 MDK-ARM 来实现与 Keil 工程模板无缝对接。这一步骤会自动生成适合导入到 Keil 中的工作空间结构,包括但不限于源码目录树、Makefile 文件等资源。 一旦完成了上述准备工作,则可以在 Keil 环境下打开由 STM32CubeMX 导出的 .uvprojx/.uvgrouj 文件来进行后续编程任务了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

^Lek

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值