前言
做嵌入式开发的人对STM32这个平台应该都是非常熟悉的,在国内尤其流行,很多产品里面都是基于这个平台做的方案。多数人在开发STM32的时候用的都是Keil这个老牌IDE,很大一部分原因是因为大多数人最初是从51单片机学习过来的,51就是基于Keil去开发的,然后迁移到STM32的时候也就沿用下来了。
Keil操作简单,容易上手,而且可以很方便地进行调试。但是对于以前不是做嵌入式开发的软件开发人员来说,面对Keil这种上世纪风格的IDE(不只是UI)肯定是不太有好感的。在尝试过 STM32CubeIDE 和 VSCode 修改的IDE之后,总是觉得还是没内味儿。
在集成开发环境中,用过Jetbrains系IDE的朋友肯定会被它强大的代码补全、界面风格、各种插件、流畅性等众多优点所吸引,毫无疑问这些是能够极大提高开发效率的。而其中有一款CLion IDE就是专门面向C/C++开发的,所以本篇文章会介绍如何把STM32的编译调试环境部署到CLion中,过程还是有很多坑值得注意的。
代码的话大家以前用的基本上都是ST的标准库,然后自己开发逻辑部分,或者在一些方便的地方直接操作寄存器。直接操作寄存器能提高代码的执行效率,但是很难移植,后来ST开发了一款可以快速demo的平台Cube MX,通过这个软件配合ST的HAL库,可以快速的搭建工程,并能生成跨芯片平台的工程。HAL库更容易进行移植,而且应用起来也更加方便,ST也正在加大对HAL库的支持,并渐渐放弃标准库。
本文介绍的是基于HAL库
开发为准的
1.软件以及所需工具
Clion2021.3.3
STM32CubeMX
MinGW
OpenOCD
arm-none-eabi-gcc
说明: 除了 clion 是付费软件外,其他皆可从官网下载获取
2.添加到环境变量
1) 将 MinGW、OpenOCD 以及 arm-none-eabi-gcc 文件夹下的 bin 文件添加到系统环境变量中。
2) 测试是否添加成功
- 打开命令提示符分别输入
gcc-v
、arm-none-eabi-gcc -v
以及openocd -v
并回车查看版本以及是否安装成功
3.Clion配置
-
打开
File -> Settings -> Build,Execution,Deployment -> Toolchains
,修改工具链以及编译器。 -
在
CMake
中确认工具链是否正常。 -
找到
Embedded Development
选项修改OpenOCD
以及STM32CubeMX
路径。 -
至此
Clion
配置完成,开始创建STM32
项目。
4.创建STM32项目
1)打开 STM32CubeMX 新建项目
-
需要注意项目路径不能用中文路径,否则会出现其他错误。工具链可选
STM32CubeIDE
以及SW4STM32
。
- 库文件选择也需要选复制必要的库文件,不然会编译报错。
- 生成代码后,点击关闭
2)打开Clion,选择打开项目文件夹,进去会自动选择配置
- 点击
File -> Open
,选择刚新建的STM32CubeMX
文件夹。
- 选择
CMake
工具链,以及OpenOCD
配置文件
- 可对应自己的mcu自行修改
OpenOCD
的配置
文章来源:https://www.toymoban.com/news/detail-411748.html
3)编译工程
- 栏顶的三个图标分别对应编译、下载、调试
文章来源地址https://www.toymoban.com/news/detail-411748.html
- 至此整个开发环境搭建完成,下载程序可通过
J-Link
、ST-Link
或者ISP
串口烧录皆可了。
5.其他问题
1)新建 STM32CubeMX 工程与 Clion 工程顺序问题
- 一般情况下是先新建
Clion
工程,再从Clion
中打开STM32CubeMX
再新建工程,这种情况会导致分别生成两个相同的文件夹。所以,我这里强调的是先新建STM32CubeMX
工程,再通过Clion
将文件夹打开,避免造成生成另外的文件夹而导致Clion
无法正常打开工程。
2)路径问题
- 必须、必须、必须要用英文路径,若出现中文路径会导致编译出错。
3)STM32CubeMX 存在的弊端
- 在第一次使用时就初始化好引脚,避免再次去生成代码,否则会导致代码出现更改。
到了这里,关于STM32开发 | Clion搭建STM32开发环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!