2025最新: CLion配置STM32F108C8T6并点灯
1. 先决条件
安装和配置软件,也可以直接在我整理的软件包网盘链接中下载:
https://drive.google.com/drive/folders/1fF4zoy1BFcLsoUbE1PcMCxLAGSyxmP0_
1.1. STM32CubeMX
这里下载安装
https://www.st.com/en/development-tools/stm32cubemx.html
1.2. STM32CubeCLT(可选的)
这里下载安装(不安装这个也行的其实)
https://www.st.com/en/development-tools/stm32cubeclt.html
1.3. Clion
这里下载安装和破解
1.4. MinGW
这块地方可以看下面,也可参考这里: https://zhuanlan.zhihu.com/p/26143367916
这里下载安装
https://github.com/niXman/mingw-builds-binaries/releases
找到最底下这个,下载

解压后,挪到自己喜欢的磁盘位置,然后配置环境变量


环境变量填入你的mingw的位置的bin文件夹

键盘键入 win+r,打开cmd,输入gcc -v,看看是不是配置好了

有一大堆字就是配置好了

1.5. arm-none-eabi-gcc
这里下载,https://developer.arm.com/downloads/-/gnu-rm
下拉,找到这两个,两个都能用,一个安装版,一个文件包,这里我选择第二个,下载

解压后,挪到自己喜欢的磁盘位置,然后配置环境变量,和上述相似的操作

键盘键入 win+r,打开cmd,输入arm-none-eabi-gcc -v,看看是不是配置好了
有一大堆字就是配置好了

1.6. OpenOCD
这里下载安装
https://github.com/xpack-dev-tools/openocd-xpack/releases
找到最底下这个,下载

解压后,挪到自己喜欢的磁盘位置,然后配置环境变量,和上述相似的操作

键盘键入 win+r,打开cmd,输入openocd -v,看看是不是配置好了
有一大堆字就是配置好了

2. 配置 Clion
我这里的Clion版本是 2025.2.3,这块也可参考官网文档:https://www.jetbrains.com.cn/help/clion/embedded-stm32.html
首先,确保已安装 STM32CubeCLT 和 STM32CubeMX。
在 CLion 中,导航到 文件(F) | 新建(N) | 项目 并选择 STM32CubeMX 作为您的项目类型:

然后,您可以按照 新建项目 屏幕上显示的步骤或以下更详细的说明进行操作,或者继续往下看
配置 SRM32Cube等软件的位置

启动 STM32CubeMX。

在打开的窗口中,点击 ACCESS TO McU SELECTOR

搜索 STM32F103C8T6,选择该项目的配置文件后,右上角生成配置

配置项目路径,注意,选择CMake:

可选的,勾选分开 h文件和c文件, 好处是可以在其他的自定义的代码文件中,引用hal库中的外设名字

右上角生成代码,然后Close弹出的运行成功的消息窗口

回到Clion,选择刚刚配置的工程目录,继续

左上角勾上,并打开管理工具链

如果不小心关掉了,可以在文件-设置中打开

打开管理工具链,第一个是关于MinGW的,第二个和第三个是关于arm-none-eabi-gcc的,确定

这里选择原生

项目目录下,或者其他位置也行,根据需要创建 CMSIS_DAP.cfg 或 ST_Link.cfg 文件,对应不同类型的烧录器,内容如下
CMSIS_DAP.cfg,就是比较贵的那种,上面有 tx rx 和 SCL等引脚
# choose st-link/j-link/dap-link etc.
#adapter driver cmsis-dap
#transport select swd
source [find interface/cmsis-dap.cfg]
transport select swd
source [find target/stm32f1x.cfg]
# download speed = 10MHz
adapter speed 10000
ST_Link.cfg,就是卖得最便宜那种,没有 tx rx 引脚的
# choose st-link/j-link/dap-link etc.
#adapter driver cmsis-dap
#transport select swd
source [find interface/stlink.cfg]
transport select hla_swd
source [find target/stm32f1x.cfg]
# download speed = 10MHz
adapter speed 10000

回到 Clion,看看有没有这个,有,点击编辑配置

如果没有出现,试试下面的方法,或者,重启下 IDE
方法1

方法2,这几个都试试看

点击编辑配置后,下拉,找到 OpenOCD

第二个选择当前项目的Cmake程序,第4个根据需要选择刚创建的 CMSIS_DAP.cfg 或 ST_Link.cfg 文件,确定

配置成功:

3. 配置 Cube 工程
回到STM32CubeMX,首先,打开 debug 模式。务必,切记,一定要开启 debug 模式,没开导致芯片锁死的话,参考解决方法:
https://blog.csdn.net/H2z1220/article/details/143760394

接下来,开启时钟,这个高速低速,就是高速低速的意思:
- 高速模式:外部 8MHz 晶振 + PLL ×9 → SYSCLK = 72MHz
- 低速模式:内部 LSI 32kHz,用于 RTC 或待机低功耗
个人开发学习选高速,无源晶振(不需要额外通电),如下

这个单片机嵌入的这个LED灯,是通过PC13的低电平点亮,不是高电平
配置 PC 13 推挽输出,低电平


生成代码

回到Clion,烧录运行


点灯成功

4. 可能的报错
4.1. [aaa.elf] Error 2
可参考:https://blog.csdn.net/weixin_49180600/article/details/145691827
原因是 mingw或arm-none-eabi-gcc等软件的版本太低,新版本等可忽略
解决方法:STM32F103C8TX_FLASH.id括号中写有READONLY的,将括号中的READONLY删掉
4.2 烧录不进去
如果引脚没接错的话,大概率是电压问题,试试调整.cfg文件中的adapter speed,即烧录速度,例如10000调成2000
5. 其他
闲的没事干的,也可以帮我点个关注
更多推荐
所有评论(0)