如何优雅配置CLion进行STM32开发教程?

摘要:本教程详细介绍了如何在 CLion 中配置开发 STM32 的环境,旨在替代传统的 Keil MDK,提供更优雅、高效的嵌入式开发体验。教程涵盖了从环境搭建到编译、烧录、调试的全流程,特别针对 OpenOCD、STM32CubeProgra
CLion for STM32 目录CLion for STM32前言笔者开源仓库缘起笔者环境简介需求分析软件下载安装编译烧录编译编译测试烧录OpenOCDSTM32CubeProgrammerJLINKGDBServer如何将 MINI ST-LINK V2 转换为 J-LINK调试定位参考资料 前言 笔者开源仓库 Github:https://github.com/bfmhno3/clion_for_stm32 Gitee:https://gitee.com/bfmhno3/clion_for_stm32 文章中所涉及到的软件包,除 CLion 外,均可在笔者的 Github 仓库中下载,避免需要账号、或者网络问题。 缘起 笔者在学习和实际开发 STM32 的时候,一直使用 Keil 作为 IDE。但是,众所周知,Keil 以其上世纪的 UI、极其卡顿的智能补全以及不能跨平台等缺点,一直饱受诟病。不过不得不承认,Keil 本身的功能十分强大,尤其是其调试能力十分出色。 自从学习 FreeRTOS 之后,笔者发现 Keil 似乎不能很好地调试 FreeRTOS 等一众 RTOS。 可能是笔者不会用 Keil 调试 FreeRTOS,如果有大佬知道如何调试,希望大佬不吝赐教! 后来偶然间读到大佬稚晖君的:配置CLion用于STM32开发【优雅の嵌入式开发】,再加之一直听说 Jetbrains 家的 IDE 功能强大、UI 美观,遂萌生了更换开发环境的想法。 但是当笔者实际操作时发现,稚晖君大佬的这套方案是他于 2022 年写的,而如今已经 2025 年了,稚晖君使用的 MinGW 也早就停止维护了,虽然有可替代的 MinGW-w64,但考虑到跨平台、易用性以及易迁移性,笔者最终选择了 STM32CubeCLT 系列工具重新配置 CLion 的开发环境。 关于 MinGW 和 MinGW-w64 的区别可以查看这篇文章:【科普】【FAQ】MinGW vs MinGW-W64 及其它 如果有谁知道这篇文章的原文出处,欢迎告知! 以上便是这篇教程的由来。 笔者环境 条目 版本 操作系统 Windows 11 专业版 24H2 26100.3915 CLion CLion 2025.1 CL-251.23774.442 April 15, 2025 STM32CubeCLT Win 1.18.0 STM32CubeMX MX.6.14.1 OpenOCD 20240916 SEGGER J-Link V8.30 简介 本教程为将 CLion 配置成开发 STM32 IDE 详细步骤,通过本教程,你可以学习到如下知识: 配置 OpenOCD 烧录下载代码 配置 ST-LINK 调试代码 将 MINI ST-LINK V2 转为 ST-LINK 配置 J-LINK 调试代码 需求分析 开发 STM32 项目的一般流程如下图所示: flowchart LR A[STM32CubeMX 配置] -->|配置引脚/时钟/外设<br>生成初始化代码| B[IDE 编码] B -->|调用 HAL 库<br>实现业务逻辑| C[烧录下载] C -->|ST-Link/J-Link<br>SWD/JTAG 接口| D{功能验证} D -- 成功 --> E[交付/量产] D -- 失败 --> F[调试纠错] F -->|逻辑分析仪/断点<br>日志分析/寄存器检查| B 可以将这个流程总体归纳为四个步骤: STM32CubeMX 配置 IDE 编码 烧录下载 调试纠错 每一个步骤都有相应的软件支持,但我们真正需要的正是一个将这些所有功能集成到一起的 IDE,这样才能简化我们的开发流程。由于 CLion 已经集成了 STM32CubeMX,同时 CLion 本身就是编写代码的 IDE,所以本教程着重从烧录下载和调试纠错两个方面对 CLion 配置进行讲解。
阅读全文