基于CLion2019实现STM32的点灯实验

文章目录

一、CLion

1.何为CLion

CLion 是 JetBrains 推出的全新的 C/C++ 跨平台集成开发环境

它的特点:

  • 当打开文件 | 新建项目时,对话框会建议一个嵌入式项目类型——STM32CubeMX,帮助用户更加方便的建立项目
  • 加载项目并正确生成 CMake 后,会在 CLion 中自动创建一些运行/调试配置,包括 OpenOCD 配置

2.安装CLion及配套工具

(1)下载CLion

  • 进入Clion官网:CLion: A Cross-Platform IDE for C and C++ by JetBrains
  • 点击download进入下载界面
    基于CLion2019实现STM32的点灯实验
  • 点击①处,有执行文件(.exe)和压缩包(.rar)两种下载方式,都是可以的,选择好后点击②处的Download进行下载。此处我选择的是.exe下载。
    基于CLion2019实现STM32的点灯实验

(2)安装CLion

  • 双击下载好的.exe文件进入安装界面
    基于CLion2019实现STM32的点灯实验
  • 点击Next后,选择安装的路径
    基于CLion2019实现STM32的点灯实验
  • 点击Next后,勾选“add ‘bin’ folder to the PATH”,以免后续加入环境变量
    基于CLion2019实现STM32的点灯实验
  • 后续的安装选择默认,直至安装完成
    基于CLion2019实现STM32的点灯实验

(3)运行Clion

  • 双击打开Clion,勾选同意选项,然后Continue
    基于CLion2019实现STM32的点灯实验

  • 点击start trial,然后点击“Log In…”登录账号,如果没有可以去往JetBrains官网注册。
    基于CLion2019实现STM32的点灯实验

  • 点击“Sign In”登录账号或者“Create Account”创建账号
    基于CLion2019实现STM32的点灯实验

  • 登录成功界面
    基于CLion2019实现STM32的点灯实验

  • 返回到Clion,点击start trail
    基于CLion2019实现STM32的点灯实验

  • 可以看到使用到期时间为2022.1.12,如果想继续使用就需要购买或者创建一个新账号
    基于CLion2019实现STM32的点灯实验

(4)安装STM32CubeMX

详细的安装过程可以参考本人之前的博客:STM32CubeMX的安装以及使用实例

(5)安装arm-none-eabi-gcc

这是用来编译 stm32 程序的交叉编译工具链

(6)安装openocd

  • 进入官网,下载openocd。官网地址:Download OpenOCD for Windows (我下载的最新版压缩包)
    基于CLion2019实现STM32的点灯实验
  • 由于是压缩包,下载完成后需进行解压,可自行选择解压路径
    基于CLion2019实现STM32的点灯实验

(7)安装MinGW

  • 进入官网,下载MinGW。官网地址:SOURCEFORGE(我下载的最新版)
    基于CLion2019实现STM32的点灯实验
  • 和openocd操作类似,由于是压缩包,下载完成后需进行解压,可自行选择解压路径
    基于CLion2019实现STM32的点灯实验

(8)添加环境变量

  • 右键点击此电脑→属性→相关设置中的高级系统设置→环境变量→双击用户变量里面的Path→新建编辑添加下载安装的三个包中的bin文件
    基于CLion2019实现STM32的点灯实验

(9)检验是否安装成功

  • 打开cmd,依次输入以下指令,若显示其对应版本号,则表示安装成功
gcc -v
arm-none-eabi-gcc -v
openocd -v

基于CLion2019实现STM32的点灯实验

3.配置Clion环境

  • 首先双击Clion图标,点击“New Project”来新建工程
    基于CLion2019实现STM32的点灯实验
  • 点击STM32CubeMX,可能会出现如下问题,原因是Clion识别不到STM32CubeMX的位置,点击Fix...,手动帮忙找到STM32CubeMX的位置即可
    基于CLion2019实现STM32的点灯实验
  • 解决问题后,点击Create即可
    基于CLion2019实现STM32的点灯实验
  • 进入界面后,点击“File”里的“Settings”
    基于CLion2019实现STM32的点灯实验
  • 点击进入Toolchains界面,进入后clion会自动读取MinGW,需要稍微等待片刻,将debugger选择arm-none-eabi-gcc 路径下bin文件夹中的arm-none-eabi-gdb.exe即可。
    基于CLion2019实现STM32的点灯实验
  • 双击进入cmake界面,待自动读取后,将toolchain处修改为MinGW
    基于CLion2019实现STM32的点灯实验
  • 双击进入Embedded Development界面,手动找到openocd和STM32Cube的位置
    基于CLion2019实现STM32的点灯实验
    目前为止,环境搭建基本完成,可进行进一步的实验。

二、点灯

1.生成STM32CubeMX程序

  • 点击open with STM32CubeMX
    基于CLion2019实现STM32的点灯实验
  • 进入CubeMX后,系统默认为f030F4Px,而我们需要用到STM32F103C8T6,点击回到选择芯片位置。
    基于CLion2019实现STM32的点灯实验
  • 选择STM32F103C8芯片
    基于CLion2019实现STM32的点灯实验
  • 配置LED流水灯
    配置SYS,RCC,GPIO,clock configuration,时钟设置为72M,此处选择PA5作为输出电平引脚,详细操作可参考博客:STM32CubeMX的安装以及使用实例
    特别注意:在最后Toolchain/IDE的选择中选择SW4STM32!!!
    完成后点击GENERATE CODE
    基于CLion2019实现STM32的点灯实验

2.添加代码与编译

  • 回到看到有开发板的配置,若使用串口,不用STlink和Jlink,可以直接点击cancel
    基于CLion2019实现STM32的点灯实验
  • 接着在Core/Src/main.c添加点灯代码
    基于CLion2019实现STM32的点灯实验

代码部分:

  HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);
  HAL_Delay(1000);
  HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);
  HAL_Delay(1000);
  • 添加好后,点击右上角编译,不报错,则基本成功。
    基于CLion2019实现STM32的点灯实验

3.烧录程序

  • 硬件连接成功后,打开FlyMCU软件,找到刚才编译生成的.hex文件,开始烧录
    基于CLion2019实现STM32的点灯实验
  • 烧录后,LED闪烁,间隔为1s,符合程序逻辑,实验成功
    基于CLion2019实现STM32的点灯实验

总结

本篇博客介绍了Clion的特点以及其强大的功能,一步步详细的介绍了Clion的下载、安装以及其配套工具——STM32CubeMX、openocd等安装和它们的环境配置。最后通过一个实例——点灯来演示如何使用Clion直接调用STM32CubeMX实现工程的建立以及代码的添加和最后.hex文件的生成,实验了间隔1s的点灯。有兴趣且有条件的同学可以尝试亲自动手试试看。配置的过程中也出现了一些问题,不过仔细检查,勤于搜索就能够解决。

参考资料

上一篇:Clion与stm32cubemx打造stm32无敌开发环境


下一篇:利用 telnet 调试 skynet