Clion进行Stm32开发实操
软件准备
Clion: https://www.jetbrains.com/clion/
STM32CubeMX: https://www.st.com/en/development-tools/stm32cubemx.html
STM32CubeCLT: https://www.st.com.cn/zh/development-tools/stm32cubeclt.html
(可选)OPENOCD: https://openocd.org/
STM32CubeMX用来提供便捷的外设配置,并生成makelist文件。
STM32CubeCLT提供了一套针对stm32的编译工具链,默认的MINGW也能用,但可能遭遇某些编译问题。
OPENOCD(Open On-Chip Debugger)提供更多的调试器支持,用JLink或STLink可以不安装,我使用DAPLINK故需要。
创建工程
(可选)设置中搜索时间与地区,可更改语言为中文。
点击创建工程后,选择左侧嵌入式-STM32CubeMX
此处可能需要手动配置STM32CubeMX与STM32CubeCLT。
配置好路径后,点击启动CubeMX,依据你的芯片创建一个新工程,完成基本时钟配置,开个灯的GPIO。
注意需要修改生成类型为GCC,然后生成代码。复制你的工程路径。
回到Clion中,将工程路径切换到你刚刚CubeMX的工程路径。如果一切正常,CLion将能够点击进行下一步。
项目设置
打开工程后,会弹出工具链编辑窗口(如果没有可以在设置中找到),我们新建一个STM工具链。
然后需要填写对应的参数,这里的每一项路径都需要我们从STM32CubeCLT的安装文件夹去寻找。
保存好进行下一步,然后会弹出CMAKE配置窗口,先取消启用默认的配置文件,新建一个配置文件,点击启用。
工具链选择我们刚才配置的STM32工具链,生成器选择Ninja。同时在CMAKE选项参数中填写: –preset “Debug”
点击应用后关闭窗口,此时工程会自动加载CMAKE,现在可以尝试构建一下。此时可能会报错。
点击报错位置,会自动转到.ld文件,我们需要对其中进行修改。按照注释这是由于GCC版本过低,我们只需要删除READONLY即可。
完成后再次点击构建,我们会发现此已经正常了。
构建正常后,如果选用JLink或者STLink可以直接在调试服务器处添加对应调试器。
使用其他调试器的点击运行配置,新建运行配置,选择OPENOCD下载并运行,目标和可执行二进制文件都选择我们刚才正常编译的运行配置,调试器选择STM32CubeCLT提供的,面板配置文件选择按照自己的调试器进行配置。
例如我的是DAPLINK,芯片为STM32H743,创建一个xx.cfg文件后输入如下信息。
1 | # 选择调试器类型(可选 st-link/j-link/dap-link 等) |
点击应用后,运行配置文件,程序成功下载。
恭喜!现在你可以使用CLion进行愉快的编程了!
添加.c/.h文件
方法1:项目文件列表中,于想添加新文件的位置右键,选择新建->C/C++源文件,输入文件名后勾选关联头与添加到项目,Clion将自动的帮你创建对应文件并添加到MAKELIST中。

方法2:将已经存在的库文件复制进工程,编辑MAKELIST文件,如图。
Printf重定向
先添加库文件 #include <stdio.h>
注意,使用时printf时末尾必须带有”\r\n”。
1 | int __io_putchar(int ch) { |
配置MAKELIST
1 | # 设置浮点运算模式(根据MCU选择) |
调试
开始调试后,主要窗口如图。线程和变量处能够看到当前位置变量的值,选中变量后右键,能够添加到监视,或者直接更变为指定的值,十分方便。
内存页面中可以直接输入内存地址查看数据.
GDB页面也可以直接进行GDB调试。
在外设页面中,添加SVD文件后能够选择监视指定外设寄存器的值。(.svd文件在CUBECLT根目录/STMicroelectronics_CMSIS_SVD/下寻找对应的即可)。
而且Clion的调试还对FREERTOS做了特化处理,在设置中开启即可。此处不再赘述。
- 标题: Clion进行Stm32开发实操
- 作者: Awwwwh2072
- 创建于 : 2026-02-01 15:39:00
- 更新于 : 2026-02-04 14:13:53
- 链接: https://blog.2star.site/p202602011/
- 版权声明: 版权所有 © Awwwwh2072,禁止转载。