嵌入式开发:配置CLion用于STM32开发


前言

本文详细讲解使用Clion开发STM32的过程。

从接触单片机编程开始,基本就一直在用keil软件进行开发,刚开始并没啥感觉,但后来使用过VScode、VS、Pycharm等一系列IDE后发现,Keil用起来太笨了!!!包括界面也是上个世纪的风格,而且代码提示做的太不智能了。因此就有了换IDE的想法。

作为稚晖君的铁粉,看到大佬用的是Clion进行开发,自然也想尝试一番。

稚晖君在知乎上也发过一篇关于Clion开发Stm32的文章,内容也是保姆级别的了,但是我在配置过程中仍然遇到不少问题,因此写下该篇文章,以此记录。

本文基于stm32的HAL库进行开发


一、需要使用的工具

软件环境

  • STM32CubeMX
  • Clion-2021
  • MinGW
  • OpenOCD
  • gcc-arm-none-eabi

硬件环境

  • STM32F103C6T6 小蓝板
    在这里插入图片描述
  • ST-Link V2

在这里插入图片描述

二、软件下载

1.STM32CubeMX

直接从ST官网下载可执行文件:
https://www.st.com/zh/development-tools/stm32cubemx.html

2. Clion

从官网直接下载,不过是个收费软件,可以去淘宝搜搜相关关键词。

3. OpenOCD

OpenOCD(Open On-Chip Debugger)开源片上调试器,是一款开源软件,提供针对嵌入式设备的调试、系统编程和边界扫描功能。配合JTAG调试协议,可以对硬件设备进行指令集级别和寄存器级别的调试。
Windows下载地址:
https://gnutoolchains.com/arm-eabi/openocd/
下载后随便解压到一个目录即可。

4. gcc-arm-none-eabi

gcc-arm-none-eabi 承担着编译器的功能,gcc是GNU编译器套件(GNU Compiler Collection)的缩写,arm则是表示的ARM类型单片机,none表示编程程序运行在裸机系统上,eabi(Embedded Application Binary Interface)表示嵌入式应用二进制接口。详细资料可自行百度。

安装地址:
https://developer.arm.com/downloads/-/gnu-rm
在这里插入图片描述

5. MinGW

Clion需要使用MinGW环境来进行工具链的配置,安装方法如下(参考稚晖君的下载方式):
到MinGW主页下载最新的版本:
https://osdn.net/projects/mingw/releases/
在这里插入图片描述
下载后是一个可执行文件:
在这里插入图片描述
双击运行,直接安装即可,另外需要把Basic Setup里面的组件全部勾选。

本人在使用上述方法时发现无法连接,总是出现download failed等错误:
在这里插入图片描述
错误原因:服务器在外网,可能无法连接,连接出错。
解决方法:
可以直接下载离线安装包进行安装,下载地址:
https://sourceforge.net/projects/mingw-w64/files/
不要直接点Download Latest Version
在这里插入图片描述
选择Files,然后往下拉:
在这里插入图片描述
在这里插入图片描述
下载后随便找个目录解压即可,至此完成所需软件的下载。
可以将OpenOCD、MinGW、gcc-arm-none-eabi放在同一目录下,便于后续操作与管理。
在这里插入图片描述
在这里插入图片描述


三、相关配置

1. 添加系统环境变量

主要添加两个:MinGW和gcc-arm-none-eabi
步骤: 我的电脑右键----> 属性
在这里插入图片描述
在这里插入图片描述
选中系统变量中的Path,点击右下方编辑:
在这里插入图片描述
再点击新建:
在这里插入图片描述
将mingw64和gcc-arm-none-eabi文件夹下的bin文件添加到路径中,如下所示:
在这里插入图片描述
然后,可以打开Windows命令行,分别输入如下指令:
arm-none-eabi-gcc -v
gcc -v
如果有输出,说明安装成功。
在这里插入图片描述
在这里插入图片描述

2. CLion配置

  1. 打开 文件—设置—构建、执行、部署—工具链,添加一个MinGW工具链

在这里插入图片描述
注意:调试器不要改

  1. 然后确认CMake选项栏下的工具链是否正确:

在这里插入图片描述

  1. 在嵌入式开发选项卡下修改OpenOCD和STM32CubeMX的位置,可以点击后面的测试来验证是否正确。

在这里插入图片描述

四、CLion创建项目

在 文件—新建—项目 下可以看到STM32CubeMX的工程:
在这里插入图片描述
点击新建后会生成一个.ioc文件,可以使用STM32CubeMX直接打开,配置单片机的参数。
需要注意的是:项目名称一定要和在Clion中建立的一致,也就是工具链文件夹最后一级】否则会生成另一个文件,Clion没有任何响应,如果生成正确,Clion会自动产生CMakeList文件。
另外生成的IDE类型选择SW4STM32
在这里插入图片描述修改完后,弹窗点击Close,Clion会自动更新文件。
第一次设置会出现一个板卡选择窗口,一般情况下不需要管,直接关掉,后续我们自己进行配置。

程序烧录
工程目录下新建一个文件夹 config ,在里面新建一个配置文件ST-link.cfg,名字可以随便起,但结尾一定是.cfg类型。
内容如下:

# 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

如果对自己的芯片不知道怎么设置,可以参考OpenOCD自带的一系列配置文件,在安装目录下:
share\openocd\scripts
在这里插入图片描述
board:板卡配置,各种官方板卡
interface:仿真器类型配置,比如ST-Link、CMSIS-DAP等都在里面
target:芯片类型配置,STM32F1xx、STM32L0XX等等都在里面

点击调试配置对话框,如图所示:
在这里插入图片描述
选择编辑配置,然后在面板配置文件选项中,将刚才保存的.cfg文件添加到路径。然后可以将重置处选择为运行,使程序下载后单片机不需要复位即可运行程序。
在这里插入图片描述
最后在进行模块化编程时,需要添加编译文件和头文件路径。在CMakeList.txt文件中进行修改。主要关心两部分:
添加头文件的地方:

include_directories(Core/Inc
                    MyApplication
                    Drivers/STM32F1xx_HAL_Driver/Inc
                    Drivers/STM32F1xx_HAL_Driver/Inc/Legacy
                    Drivers/CMSIS/Device/ST/STM32F1xx/Include
                    Drivers/CMSIS/Include)

需要编译文件的地方:

file(GLOB_RECURSE SOURCES "startup/*.*" "Drivers/*.*" "Core/*.*" "MyApplication/*.*")

其中:
*.*表示通配符,也就是这个文件夹里的所有文件都会被编译

五、测试案例

以点亮LED为例来测试上述配置是否可行:

1.利用Clion创建好项目后先配置STM32CubeMX
我将Clion项目生成在了桌面上
在这里插入图片描述

用STM32CubeMX配置时,项目目录设置
在这里插入图片描述

选择LED(PC13引脚)为推挽输出模式。
时钟主频72Mhz。
Debug选择Serial Wire。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
生成代码后Clion后自动检测:在这里插入图片描述
然后就是新建文件夹config,将前面提到的ST-link.cfg文件放入。
并导入到运行/调试配置中。

可以修改一下CMake生成的文件夹名称,便于管理。
在这里插入图片描述

2.配置完后就可以把LED闪烁的程序敲上:
在这里插入图片描述
然后点击下载运行即可:
在这里插入图片描述
效果图:
在这里插入图片描述
在这里插入图片描述
能够看到LED实现了期望的效果。

测试成功!!


  • 14
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
配置CLion开发环境来进行STM32开发之前,首先需要准备好以下几个步骤: 1. 安装CLion: 首先,你需要下载并安装最新版本的CLion集成开发环境。 2. 安装插件:为了支持STM32开发,你需要在CLion中安装STM32插件。可以在CLion的插件市场中搜索并安装适合你的STM32插件。 3. 安装编译工具链:在进行STM32开发时,你需要安装适合的编译工具链。可以选择GNU ARM Embedded Toolchain作为编译工具链。你可以从其官方网站下载适合你操作系统的编译工具链,并按照它们的安装说明进行安装。 4. 配置编译器路径:在CLion配置编译器路径,以便CLion可以调用编译工具链来编译和构建STM32项目。你可以在CLion的设置中找到“Build, Execution, Deployment”选项,然后在“Toolchains”选项卡中配置编译器路径。 5. 创建STM32项目:在CLion中创建一个新的STM32项目。你可以选择使用STM32CubeMX来生成初始化代码,并将其导入到CLion项目中。或者,你也可以手动创建一个空白项目,并添加所需的STM32驱动文件和库。 6. 编写代码和调试:在CLion中编写你的STM32代码,并使用调试工具来调试你的代码。你可以配置调试器来连接到你的STM32开发板,并使用CLion的调试功能来监视和调试代码的执行。 请注意,以上步骤仅为一般指导,具体的配置步骤可能会因为不同的STM32开发板和工具链而有所不同。建议你参考相关的文档和资源,以获得更详细的指导和指令。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [[ESP32][环境配置]Clion配置ESP-IDF开发环境,支持编译下载和menucofig](https://blog.csdn.net/qq_38844263/article/details/123989779)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值