CLion是Jetbrains公司旗下新推出的一款专为开发C/C++所设计的跨平台IDE,它是以IntelliJ为基础设计的,同时还包含了许多智能功能来提高开发人员的生产力。 CLion专为使用C和C ++以及 Kotlin / Native ,Rust和Swift进行的本机跨平台开发而设计。
一、安装环境
1、CLion
1.1. CLion的介绍
Clion 是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。CLion帮助开发人员使用智能编辑器来提高代码质量、自动代码重构并且深度整合CMake编译系统,从而提高开发人员的工作效率。
CLion支持的编译器有GCC,Clang和MSVC,支持的语言包括Python,Objective-C/C++, HTML, CSS,JavaScprit和XML。这些语言是通过捆绑的插件实现对这些语言的自持,这些插件默认情况下处于启用状态,用户还可以安装其他插件来获得Clion支持的其他语言(Rust,Kotlin,Swift)。
CLion与CMake构建系统完全集成,可以无缝的创建,打开构建及运行,调试CMake项目。CMake本身捆绑在CLion中,因此除非决定使用自定义版本,否则无需单独安装它。
1.2. CLion的下载
进入官网进行下载:https://www.jetbrains.com/clion/
![在这里插入图片描述](https://img-blog.csdnimg.cn/26b5e6094adc4c7e81358ab94bef8e60.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
直接点击下载即可
注意:这是可以免费使用 30 天的教育版,推荐直接下载最新版即可,因为需要结合安装的 CubeMX 版本,有些老版本可能调用不了新版的 CubeMX
1.3. CLion的安装
下载完毕后,进入文件夹,选择下好的CLion-2021.3.exe文件以管理员身份运行进行Clion安装,点击Next
![在这里插入图片描述](https://img-blog.csdnimg.cn/0fe9bbed54654dc5b5243f82c854513f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_15,color_FFFFFF,t_70,g_se,x_16)
选择安装路径,点击Next
![在这里插入图片描述](https://img-blog.csdnimg.cn/ef3feb08036b48d6bf019fe179fce6be.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_15,color_FFFFFF,t_70,g_se,x_16)
如图所示进行选项勾选,点击Next
![在这里插入图片描述](https://img-blog.csdnimg.cn/fe9e38286b184116972377905289adb9.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_15,color_FFFFFF,t_70,g_se,x_16)
点击Install
开始安装
![在这里插入图片描述](https://img-blog.csdnimg.cn/c4759e56f09a4cc6b37589536de7dfa7.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_15,color_FFFFFF,t_70,g_se,x_16)
等待安装过程
![在这里插入图片描述](https://img-blog.csdnimg.cn/be875ea00c38451dab50e163166a8fe8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_15,color_FFFFFF,t_70,g_se,x_16)
安装完成之后选择暂时不重启,点击Finish
![在这里插入图片描述](https://img-blog.csdnimg.cn/6b72a67b3bc04623b6102ede43978c98.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_15,color_FFFFFF,t_70,g_se,x_16)
这时候可以在桌面上看见生成了快捷方式,安装成功
2、Stm32cubeMX
关于Stm32cubeMX开发环境的搭建请参考之前的博客,这里不过多赘述:https://blog.csdn.net/qq_54496810/article/details/120882256
3、arm-none-eabi-gcc
这是用来编译stm32程序的交叉编译工具链的
点击以下链接进行下载:https://developer.arm.com/tools-and-software
进入网页后,点击gcc-arm-none-eabi-10.3-2021.10-win32.exe
下载
![在这里插入图片描述](https://img-blog.csdnimg.cn/3053789b07574f968148395ae3060e51.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
下载完成后,点击.exe进入安装
点击OK
![在这里插入图片描述](https://img-blog.csdnimg.cn/aa9a4536cfd74a66b58f70f37efb34b5.png)
进入以下界面,点击下一步(N)
![在这里插入图片描述](https://img-blog.csdnimg.cn/bd6ad22bea6d47b8af2d910bb8c20c28.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_17,color_FFFFFF,t_70,g_se,x_16)
选择我接受(I)
![在这里插入图片描述](https://img-blog.csdnimg.cn/efe3ded572d4425fb2d4c3de8b097256.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_17,color_FFFFFF,t_70,g_se,x_16)
选择安装路径,点击安装(I)
开始安装
![在这里插入图片描述](https://img-blog.csdnimg.cn/44821890f2ae49c39832283686bca21c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_17,color_FFFFFF,t_70,g_se,x_16)
安装过程
![在这里插入图片描述](https://img-blog.csdnimg.cn/40908eb92fb14e76960411592e1e6d8e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_17,color_FFFFFF,t_70,g_se,x_16)
安装完成
![在这里插入图片描述](https://img-blog.csdnimg.cn/0d2c67e5727e43c2b850db78ccb724f0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_17,color_FFFFFF,t_70,g_se,x_16)
点击完成
后,在命令行里用以下语句测试,检验是否安装成功:
arm-none-eabi-gcc -v
如下图,有信息输出,安装成功
![在这里插入图片描述](https://img-blog.csdnimg.cn/e3c967d141784d79ac32c99e269ff397.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
4、MinGW
下载网址:https://sourceforge.net/projects
进入网页后,不要着急点击绿色的按钮进行下载,向下滑动,找到压缩包,如图所示,点击下载
![在这里插入图片描述](https://img-blog.csdnimg.cn/1438fbbde9c44e57963b6646cb191a63.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_16,color_FFFFFF,t_70,g_se,x_16)
这里下载的比较慢,耐心等待下载
或者你可以使用以下链接进行下载:https://pan.baidu.com/s/1Q9lzsIWJJ4_MPThVYDnENg
提取码:qwer
下载完成后解压压缩包,记住其路径,这里建议移到与CLion同目录下去,方便查找
![在这里插入图片描述](https://img-blog.csdnimg.cn/c98a8c4de1474347b90ce5e08f86376b.png)
然后进入 CLion,建立工程
发现弹出以下界面,因为没有购买许可证,这里是进行试用30天,那么依次点击Start trial
->Log In to JetBrains Account...
![在这里插入图片描述](https://img-blog.csdnimg.cn/84e6a957c30e4ab1b298769972a6a862.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
进入网页根据提示步骤一步步进行账号注册,这里便不过多说明
![在这里插入图片描述](https://img-blog.csdnimg.cn/7768204c172149c6a1b845fe5724cb32.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
注册成功会,返回CLion,点击Close
即可开始使用
![在这里插入图片描述](https://img-blog.csdnimg.cn/7a271ad8a10c48618c3d92a2717d5944.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
新建一个工程
![在这里插入图片描述](https://img-blog.csdnimg.cn/24b519fd8dc04fed87e40a71b6fde8a1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
选择存放的路径,并点击Create
完成建立
![在这里插入图片描述](https://img-blog.csdnimg.cn/f53b51ab98ca44d2b99b6c5154a22bc4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
依次选择File
->Settings
->Build,Execution,Deployment
->Toolchains
,点击MinGW
,可以看见已自动匹配好路径信息
![在这里插入图片描述](https://img-blog.csdnimg.cn/c2d84b81a83349319f52b377cb7433c5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
至此就完成了 MinGW 的配置
5、Openocd
这是用来下载程序和调试程序的程序
进入官网下载:https://gnutoolchains.com/arm-eabi/openocd/
点击下载最新版即可:
![在这里插入图片描述](https://img-blog.csdnimg.cn/793a3dba19ba401e8114195b14d6b7f6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
下载完成后,解压文件到相同路径下
![在这里插入图片描述](https://img-blog.csdnimg.cn/6ea04f4f39bf48549e24b2ca31fb63f7.png)
选择File
->Settings
->Build,Execution,Deployment
->Embedded Development
,把右侧OpenOCD Location
文件目录转换为前面的路径,注意选择bin
目录下的openocd.exe
,顺便把Stm32CubeMX Location
路径也配置了
![在这里插入图片描述](https://img-blog.csdnimg.cn/8df91f3efc384cc69cc163e056b41646.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
点击OK
完成配置
最后将如图所示的路径添加到环境变量的Path
中
![在这里插入图片描述](https://img-blog.csdnimg.cn/57c9c947a5524e77b2ce2db5c506b916.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_18,color_FFFFFF,t_70,g_se,x_16)
二、利用 CLion 点亮 LED
使用 Clion2021,采用一套新的嵌入式软件开发工具包(替代 Keil ),完成 stm32F103 点亮 LED 的程序
1、创建工程
新建一个工程,选择STM32CubeMX
,选择项目要保存的路径,点击Create
即可
![在这里插入图片描述](https://img-blog.csdnimg.cn/904afd7a53a3441d9c6bb6119ca7cf71.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
注意:路径不能出现中文名,否则创建不成功
2、配置STM32CubeMX
工程创建好后,点击Open with STM32CubeMX
,进入STM32CubeMX
![在这里插入图片描述](https://img-blog.csdnimg.cn/285757ce98e84fc8bad6a0fa6455346a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
进入STM32CubeMX之后,点击左上角的STM32F030F4Px
,进入芯片选择
![在这里插入图片描述](https://img-blog.csdnimg.cn/e8b6a75e8bf24df5b31ca1b803658868.png)
选择使用STM32F103C8
,选择中间弹出的信息栏,点击Start Porject
开始配置
![在这里插入图片描述](https://img-blog.csdnimg.cn/2ec6425fa4ff4fd0b3fe806c6b26e893.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
首先配置SYS:点击System Core
,进入SYS
,在debug那里选择Serial Wire
![在这里插入图片描述](https://img-blog.csdnimg.cn/95f27351f27d4dac9820ae182b260b6d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
接着配置RCC:进入RCC
,将HSE
设置为Crystal/Ceramic Resonator
![在这里插入图片描述](https://img-blog.csdnimg.cn/92e4bca2055d404d98fce53ff3d42137.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
配置引脚:设置引脚PC13
为GPIO_Output
来点亮 LED 灯
![在这里插入图片描述](https://img-blog.csdnimg.cn/7e4ba958938d436ea5c2f187630f8e7a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
配置串口USART1:点击Connectivity
,修改串口USART1
的模式为Asynchronous
![在这里插入图片描述](https://img-blog.csdnimg.cn/2950b8c9523e4183907b4ed4afb9c515.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
命名工程文件并设置:
进入Project Manager
页面,填写Project Name
(因为换芯片的过程,其实是 Cube 新建了一个.ioc文件),这里建议填写之前的工程名和工程路径,这样就可以把之前不需要的.ioc 文件覆盖掉
然后Toolchain/IDE
类型选择SW4STM32
![在这里插入图片描述](https://img-blog.csdnimg.cn/65ae2c2b8f3c40ef9b2508701f884151.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
最后点击右上角的GENERATE CODE
,选择 Yes
,生成工程
![在这里插入图片描述](https://img-blog.csdnimg.cn/aa5a14f35bcc45d7956d8e76aa428503.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
3、配置 CLion 工程文件
回到 CLion,可以看到出现了如下界面,选择st_nucleo_f103rb.cfg
并Use
![在这里插入图片描述](https://img-blog.csdnimg.cn/94494dca6e244d77b716afa3983d74ea.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
注意:如果回到 CLion之后没有出现如上界面,那就可能是上一步生成 CubeMX 工程的时候,文件命名和目录选择与之前的不同导致的,只需要在 CLion 打开重新生成的 CubeMX 工程文件目录即可
寻找 st_nucleo_f103rb.cfg 文件的位置:
点击左上角如图位置:
![在这里插入图片描述](https://img-blog.csdnimg.cn/430a8d158d5c4f80b206d85201b82367.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
出现下面界面,点击图中的...
,即可查看到st_nucleo_f103rb.cfg
文件的路径
![在这里插入图片描述](https://img-blog.csdnimg.cn/b589d3bef9b24733bb4f347df8f66351.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
修改 st_nucleo_f103rb.cfg 文件:
根据刚才查看到的路径位置打开文件,将第十行注释掉
![在这里插入图片描述](https://img-blog.csdnimg.cn/398ef725bf4f4d0bb2195a6f7981a6e8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
代码含义:
第 4 行是选了连接方式为 stlink;
第 6 行是选择 swd 通信模式;
第 8 行是选择 stm32f1x 的配置文件;
第 10 行是选择重启模式,要将其注释起来,不注释掉下载可能失败
4、添加并编译代码
添加代码
打开main.c
文件,在 while 循环里添加使PC13
引脚 LED 灯闪烁的代码
![在这里插入图片描述](https://img-blog.csdnimg.cn/fb98c715a5df48d5a488c37acf8d8d37.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
代码如下:
while (1)
{
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
HAL_Delay(500);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
编译前配置
选择File
->Settings
->Build,Execution,Deployment
->cMake
->Debug
,可以看见已经默认使用了MinGW
![在这里插入图片描述](https://img-blog.csdnimg.cn/c5361dce50414f9f92d1c11ddd2e8ec6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
此时,出现可编译的配置,而且左边的小锤子
由暗变亮
![在这里插入图片描述](https://img-blog.csdnimg.cn/0ed4dad87ce94f9ca39d37f6dc64f78c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
点击右上角的小锤子
,开始编译,结果如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/98bced3600524313a866cd9c53b51821.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
编译成功,打开工程目录,可以在cmake-build-debug
文件夹下看到生成的.hex文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/f3811b29f760415bb5df57704d2ed5dd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
5、烧录
选择文件,点击开始编程,将 .hex 文件烧录到 STM32F103C8T6 核心板中
![在这里插入图片描述](https://img-blog.csdnimg.cn/a85c1ac74b644035948816ed6d073ce0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5bCP5pif5Lqu5pm25pm2,size_20,color_FFFFFF,t_70,g_se,x_16)
6、运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/6f10bb7b81a64dacb2e1f26b3eed7a27.gif)
可以看见,PC13 端口的LED闪烁,实验成功
三、小结
CLion 是一款新的嵌入式软件开发工具包,在进行 CLion 的测试应用中,利用 CLion 调用了 STM32CubeMX 直接进行了 HAL 工程的建立,再通过 CMake 编译器完成代码编译,这功能相比于利用 STM32CubeMX先建立HAL工程,再利用 keil来完成简单、方便许多 ,另外CLion还有调试等功能,可以看出,CLion 是一个多功能跨平台的 IDE,能进一步的提高开发人员的工作效率,除了要收费,其他都是不错的。
四、参考链接
https://blog.csdn.net/m0_58892312/article/details/121866325