欢迎光临散文网 会员登陆 & 注册

配置CLion + STM32CubeMX开发环境

2023-03-26 22:42 作者:靓-仔-2-号  | 我要投稿

0.前言

由于本人对Keil的编译环境不太满意,故在网上搜寻了各种代替方法,最终选定了CLoin的IDE,它可以支持从STM32CubeMX生成的代码直接编译,节省了大量时间去配置初始化代码,以下只作为本人的一次环境搭建的踩坑记录,希望对正在解决问题的你有所帮助。

本次配置参考了如下几位大佬的说明

配置CLion用于STM32开发【优雅の嵌入式开发】 - 哔哩哔哩 (bilibili.com)

[稚晖君同款]使用Clion优雅开发STM32[瀚文]_哔哩哔哩_bilibili

Clion实现Stm32标准库开发 - 哔哩哔哩 (bilibili.com)

还在用keil?学会Clion开发STM32吧!哔哩哔哩bilibili

1.环境所需配置搭建

首先确保已经安装了stlink的驱动,如使用的是dap-link则无需安装驱动。

将如下图,将所有文件下载下来之后,直接双击CLion 2022安装包安装即可。

选择自己喜欢的位置安装,但一定要记得目录,因为后续还需要用到这个目录,

将所有复选框都勾上即可

解压jetbra-1126574a2f82debceb72e7f948eb7d4f616ffddf.zip压缩包,并将整个解压后的文件夹(jetbra)放在CLion的安装目录下

打开其下的scripts文件夹,双击install-all-users的脚本,等待出现Done提示即可。


打开jetbra.txt,复制到浏览器进入到如下界面

随便挑选一条可以链接的网址点进去,我选的第一个dweb.link,进去后找到CLion,点击Copy to clipboard。

打开进入CLion选择Activation code

ctrl+v将复制的密钥到激活区

点击Activate即可,激活到2025年。

点击Plugins添加Chinese语言插件(不需要汉化的可以忽略此步骤),然后重启CLion即可

现在开始安装STM32CubeMX,最新6.8.0版本无法生成SW4STM32的IDE,但是可以生成STM32CubeIDE,在CLion中也是可以编译的,如果需要生成SW4STM32的IDE,只需要安装较低版本的即可,例如6.5.0版本,我使用的是6.8.0版本,安装自己喜欢的目录下即可,我把它安装在和CLion同一目录下,后续添加环境时容易找到。

解压mingw64.zip,并将mingw64文件夹整个复制到CLion同一目录下,同理将gcc-arm-none-eabiopenocd解压并复制整个文件夹到CLion同一目录下。具体效果图如下

添加mingw64和gcc-arm-none-eabiopenocd目录下bin文件夹的目录地址到patch环境变量内,如图所示


win+R打开命令行,输入cmd进入调试窗口,输入gcc -v

再输入arm-none-eabi-gcc -v

每次都跳出一堆指令说明环境配置成功。

2.在CLion中创建STM32工程

打开CLion新建STM32CubeMX工程,发现报错找不到STM32CubeMX,这其实是因为我们没有给它指定STM32CubeMX的位置,因此我们点击修正,然后修改成我们安装STM32CubeMX的位置即可。


选好后点击右边的测试,如果出现绿色的回复就说明配置OK

OpenOCD的位置同理测试一下是否OK


设置项目的目录文件夹,将项目的目录复制到相应位置,后续生成的STM32CubeMX文件会放在这个目录

如果不会自动给打开CubeMX则点击用STM32CubeMX打开即可

第一次打开可能会跳出minGW配置,等待加载完毕即可,如果不跳出来也没关系,后面有讲怎么配置minGW

弹出以下信息点击跳过即可

由于CLion默认的是STM32F0303F3Px,我这次用的是STM32F103C8T6,因此点击左上角STM32F0303F3Px换芯片类型

找到STM32F103C8T6,然后点击Start Project开始配置工程

首先点击System Core

先将Debug Serial Wire勾上(如果有的话),根据需求选择Debug 方式,最常用的是SWD,因此选择Serial Wire或者Trace Asynchronous Sw都可以,我选择Trace Asynchronous Sw,这一步的目的是防止下载一次之后SW口被禁,第二次下载时提示找不到设备

点击RCC选择高速时钟和低速时钟源,根据需求选择即可

然后将PC13设置为GPIO_Output模式,因为最小系统板上有LED连接在PC13上,可以用于环境搭建的调试

然后就是时钟的一些设置,这个根据自己工程实际应用场景设置就行,也可以如下图设置

因为6.8.0版本无法生成SW4STM32的IDE,如果需要生成SW4STM32的IDE,只需要安装较低版本的即可,例如6.5.0版本,6.8.0版本可以生成STM32CubeIDE,在CLion中也是可以编译的,因此直接点击GENERTE CODE即可


点击Close,然后关闭STM32CubeMX

CLion弹出选择面板配置文件,我们不用管它,点击跳过即可,后续我们自行添加面板配置文件

在Core/Src文件夹内找到main.c,点击右上角那个锤子🔨编译跳出信息如下,即可说明CubeMX配置没有问题


3.配置STLink在线编译调试环境

在CMakeLists.txt同一文件夹内新建一个文件,命名为ST-Link.cfg并打开

复制以下文本到ST-Link.cfg

# choose st-link/j-link/dap-link etc.\
# adapter driver cmsis-dap
# board:板卡配置,各种官方板卡
# 路径在OpenOCD安装目录的share\openocd\scripts下:
# interface:仿真器类型配置,比如ST-Link、CMSIS-DAP等都在里面
# target:芯片类型配置,STM32F1xx、STM32L0XX等等都在里面
# 设置好配置文件之后,就可以点击下载或者调试按钮进行下载和在线调试了。
# 在配置文件中不要加reset_config srst_only这一句,会导致下载失败,这一句是指示系统重启的,删除不影响下载。
   source [find interface/stlink.cfg]
   transport select hla_swd
# 0x10000 = 64K Flash Size
# 0x100000 = 1024k Flash Size
# set FLASH_SIZE 0x100000
   source [find target/stm32f1x.cfg]
# download speed = 10MHz
adapter speed 10000000

#后面的表示注释,删除也不会影响到下载

点击右上角Debug旁边的向下小三角设置运行/调试配置

如果没有OpenOCD下载并运行的选择项,点击+号添加即可,在面板配置文件这里选中刚刚编辑好的ST-Link.cfg,如下图,名称、目标和可执行的二进制文件名称都要一样。


4.点亮第一盏LED灯

打开main.c并在main 函数的while(1)里面每隔1000ms给PC13拉高拉低一次,实现LED灯闪烁,完成后点击右上角的调试按钮即可下载固件,下面的红色提示并不是错误警报,只要右下角提示OpenOCD已下载固件表明下载成功。

此时看自己的最小系统板PC13的那个小灯会每隔一秒闪烁一次。表明环境搭建成功,然后就可以愉快的敲代码了。

5.其他问题

1.DAP-Link下载

如果使用的是DAP-Link,那么配置会有点区别,只需要修改一些参数,具体操作步骤如下:

新建一个文件,命名为DAP--Link.cfg

复制以下文本到DAP-Link.cfg

# choose st-link/j-link/dap-link etc.\
# adapter driver cmsis-dap
# board:板卡配置,各种官方板卡
# 路径在OpenOCD安装目录的share\openocd\scripts下:
# interface:仿真器类型配置,比如ST-Link、CMSIS-DAP等都在里面
# target:芯片类型配置,STM32F1xx、STM32L0XX等等都在里面
# 设置好配置文件之后,就可以点击下载或者调试按钮进行下载和在线调试了。
# 在配置文件中不要加reset_config srst_only这一句,会导致下载失败,这一句是指示系统重启的,删除不影响下载。
   source [find interface/cmsis-dap.cfg]
   transport select swd
# 0x10000 = 64K Flash Size
# 0x100000 = 1024k Flash Size
# set FLASH_SIZE 0x100000
   source [find target/stm32f1x.cfg]
# download speed = 10MHz
adapter speed 10000000

点击右上角Debug旁边的向下小三角▼进入设置运行/调试配置界面,在面板配置文件这里选中刚刚编辑好的DAP-Link.cfg,如下图,名称、目标和可执行的二进制文件名称都要一样,然后应用确定即可,此时调试时就可以愉快的使用DAP-Link了。

2.minGW配置

点击文件-设置选项

找到工具链,如果没有出现MinGW,则点击+添加一个MinGW


调试器那里出现捆绑的GDB则说明环境加载成功,确定即可。


以上,即为本人的一次CLion+STM32CubeMX环境搭建的记录,希望本文能帮助你。


配置CLion + STM32CubeMX开发环境的评论 (共 条)

分享到微博请遵守国家法律