从零开始教你使用Clion开发STM32
前言
前段时间,稚晖君用Clion开发STM32,这般优雅的程度深深吸引着我!!!于是参考稚晖君的博客文章,也开始着手搭建Clion配置环境,查阅了大量的关于Clion开发STM32的资料,总结出了一套简易的Clion开发STM32配置环境的流程。
本系列文章将会从环境搭建到代码烧录实现全方位手把手教你从零开始用Clion开发STM32,希望我的系列文章能帮助到大家,那么接下来,我将带领大家做一名优雅的嵌入式软件开发工程师!!!由于我知识有限,如果出现一些错误,希望大家可以帮助我指出来,我们一起学习进步!!!
一、相关软件的安装
1)准备文件
配置开发环境所需软件及环境包:
- Clion软件
- STM32Cubmx软件
- gcc-arm-none-eabi
- openocd
- mingw64
上述软件及环境包大家可以自行上网搜索,稍后我也会把本文所涉及到的所有软件及安装包打包放在评论区,有需要的小伙伴可以自取。
2)软件及环境包的安装
由于篇幅限制,关于Clion软件的安装和STM32Cubmx软件的安装,大家自行上网搜索教程,这里不再赘述,重点讲述gcc-arm-none-eabi、openocd、mingw64的安装;
安装步骤:
1)安装Clion软件;
2)安装STM32Cubmx软件;
3)解压gcc-arm-none-eabi的安装包到指定路径,并将指定路径下的bin文件夹添加到环境变量中;
4)解压openocd的安装包到指定路径,并将指定路径下的bin文件夹添加到环境变量中;
5)解压mingw64的安装包到指定路径,并将指定路径下的bin文件夹添加到环境变量中;

TIPS:
1)解压路径中绝对不能含有中文字符;
2)解压路径最好不要有空格符号的出现,例如:"C:\Program Files";
二、开发环境配置及烧录到开发板
经历过上述的步骤,你可以选择用STM32Cubmx生成对应芯片的SW4STM32的配置文件,然后用Clion编译器打开,但这当中可能会出现不识别配置环境、编译出错、文件丢失等其他复杂情况......
可以参考稚晖君——《配置CLion用于STM32开发【优雅の嵌入式开发】》
https://zhuanlan.zhihu.com/p/145801160
为了避免这种情况,让大家都能很简单方便地使用Clion开发STM32而不烦恼于复杂的配置方法,我直接将配置好的工程文件给到大家!工程文件稍后放在评论区.....
我使用的开发平台是STM32F103VETx,也就是野火指南者开发板所使用的芯片,大家手头上有这款芯片的可以和我进行接下来的操作,如果不是这款芯片也没有关系,后面我会在第二节为大家带来如何将工程文件移植到其他芯片的方法,敬请期待!!!
安装步骤
a)解压工程文件,并在解压路径下,使用Clion编译器打开;
b)打开后,选择试用30天,并点击继续,在随后的窗口中,选择信任此项目;
c)此时要核对Mingw64的路径是否正确,如果没有出现下述的三个绿勾,则说明没有安装成功,需要检查路径或者重新配置环境变量,点击OK,进入下一步;
d)按步骤点击到如图所示的页面,如果方框3中的小锤子是灰色,请耐心等待工程文件完全导入,如果还是没有变成绿色,说明Mingw配置有问题。然后,点击绿色小锤子进行文件编译,不出意外的话,应该是100%通过的,此时我们离成功搭建只差一步,即进行烧录操作;
e)在烧录之前,必须添加下载器配置文件,下面是DAP-link的烧录文件,大家根据自己手头上的下载器的参数进行修改,并保存为xxxlink.cfg的格式,放在工程目录下config的文件夹中;
# choose st-link/j-link/dap-link etc.
source [find interface/cmsis-dap.cfg]
transport select swd
# 0x10000 = 64K Flash Size
# 0x80000 = 512K Flash Size
set FLASH_SIZE 0x80000
source [find target/stm32f1x.cfg]
# download speed = 10MHz
adapter speed 10000
reset_config srst_only
#reset_config none
f)按如图所示步骤,选择正确的cfg文件,连接下载器,点击烧录程序,如果弹出图中的弹窗,则说明程序烧录成功!此时,便可以用Clion优雅地开发STM32了!!!
总结
上述配置Clion环境开发STM32的前提是你是采用HAL库进行嵌入式开发,如果你想用标准库进行Clion开发,目前有网络大神进行了适配,可以多查找查找资料,相信你一定会成功!!!有问题可以直接在评论区留言,后续我会汇总起来统一回复大家!!!