Clion+cubeMX stm32HAL库开发配置

本文详细介绍了如何在Windows上安装Clion并配置环境,包括STM32CubeMX的集成、环境变量设置、CMakeLists.txt配置、printf使用方法以及文件编码设置,以支持Arduino和STM32开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

资源

https://pan.baidu.com/s/1qbebp48NKiZ1kuqG4Wo2NA 
提取码:1111

软件安装

 Clion安装

                stm32cubeMX默认已安装 注意路径不能有中文或空格等

1 注意安装路径

准备一个Clion文件夹 除了软件本体再创建Clion_Path和Clion_Data分别存放环境文件和工程文件  Clion开发Arduino等体验也很好 建议Clion_Data下建立Clion_32区分

2 其余设置默认

3 安装完成后运行一次关闭 运行脚本解锁功能

环境配置

1 解压以下文件到Clion_Path

2 将mingw和gcc-arm添加到系统环境变量中

3 检测环境是否正常

Win+R cmd 命令窗口分别运行 gcc -v 和 arm-none-eabi-gcc -v 看环境是否载入

软件设置及使用

1 安装汉化插件并重启

2 新建项目 选择STM32CubeMX 

3 点击修正指定CubeMX和openOCD路径

4 注意项目路径 创建项目后等待加载完成 点击.ioc文件打开CubeMX

5 CubeMX注意事项

进去默认f030 修改型号正常创建工程 注意工程路径必须是Clion项目路径的上一级 工程名称与Clion项目文件夹一致 IDE选择STM32CubeIDE 旧版本cubemx选择SW4STM32

6 返回Clion

正常会自动重新加载 没有手动右键刷新一下 点击右上小锤子即可编译 编译成功如下

7 编译文件

在工程文件夹中cmake下 不同烧录方式使用不同 通过CH340烧录到这里就可以直接用了 其他自行搜索

补充

附加1 .h和.c的路径指定

CMakeLists.txt 约等于keil中的C设置 添加.c/.h参考下图52行 56行进行设置

附加2 Clion中printf的使用

简单使用:重定向以下函数即可

int __io_putchar(int ch){
    uint8_t temp[1]={ch};
    HAL_UART_Transmit(&huart1,temp,1,0xff);
    return (ch);
}

附加3 文件编码

文件->设置->编辑器->文件编码

 

### 配置CLion以使用STM32 HAL #### 准备工作 为了在Mac环境下利用CLion进行STM32 HAL开发,需准备好必要的工具链和支持包。这包括但不限于安装ARM编译器(如GNU Arm Embedded Toolchain),以及获取适用于目标微控制器系列的HAL驱动程序[^1]。 #### 安装并配置CLion插件 对于CLion而言,支持C/C++项目的构建通常依赖于CMake作为其构建系统。因此,在开始之前要确认已正确设置了CMakeLists.txt文件来描述项目结构,并指定了正确的交叉编译选项以便能够针对ARM架构编译代码。此外,可以考虑安装一些辅助性的IDE插件,比如用于语法高亮或硬件仿真等功能增强的扩展[^2]。 #### 创建STM32工程项目 借助STM32CubeMX初始化一个新的工程是一个不错的选择。在这个过程中可以选择具体的MCU型号、外设配置等参数;完成设置后导出为兼容GCC/AC6的工程模板。值得注意的是,当选择IDE时应该指定为STM32CubeIDE或其他能生成适合CLion导入的形式的数据[^3]。 #### 导入至CLion与初步调整 将由STM32CubeMX产生的源码目录链接到现有的CLion解决方案里去。确保两者之间的相对位置关系保持一致——即新建的子模块应当位于顶级Clion项目之外的一个上级文件夹内,同时二者的名字也要相匹配。接着修改`CMakeLists.txt`使得它能够识别新增加的部分并且应用恰当的目标平台设定。 #### 编写应用程序逻辑 遵循最佳实践建议,所有的自定义编码都应在特定标记区域内完成,例如USER CODE BEGIN 和 USER CODE END标签之间放置个人实现细节,这样既不会影响自动化的脚本处理流程又能方便维护者理解意图所在[^4]。 ```cpp // main.c or equivalent entry point file within your project structure #include "stm32fxxx_hal.h" int main(void){ /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ // Initialization code here... while (1) { /* Infinite loop where application runs */ /* USER CODE BEGIN WHILE */ /* USER CODE END WHILE */ } } ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值