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/
直接点击下载即可
注意:这是可以免费使用 30 天的教育版,推荐直接下载最新版即可,因为需要结合安装的 CubeMX 版本,有些老版本可能调用不了新版的 CubeMX
1.3. CLion的安装
下载完毕后,进入文件夹,选择下好的CLion-2021.3.exe文件以管理员身份运行进行Clion安装,点击Next
选择安装路径,点击Next
如图所示进行选项勾选,点击Next
点击Install
开始安装
等待安装过程
安装完成之后选择暂时不重启,点击Finish
这时候可以在桌面上看见生成了快捷方式,安装成功
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
下载
下载完成后,点击.exe进入安装
点击OK
进入以下界面,点击下一步(N)
选择我接受(I)
选择安装路径,点击安装(I)
开始安装
安装过程
安装完成
点击完成
后,在命令行里用以下语句测试,检验是否安装成功:
arm-none-eabi-gcc -v
如下图,有信息输出,安装成功
4、MinGW
下载网址:https://sourceforge.net/projects
进入网页后,不要着急点击绿色的按钮进行下载,向下滑动,找到压缩包,如图所示,点击下载
这里下载的比较慢,耐心等待下载
或者你可以使用以下链接进行下载:https://pan.baidu.com/s/1Q9lzsIWJJ4_MPThVYDnENg
提取码:qwer
下载完成后解压压缩包,记住其路径,这里建议移到与CLion同目录下去,方便查找
然后进入 CLion,建立工程
发现弹出以下界面,因为没有购买许可证,这里是进行试用30天,那么依次点击Start trial
->Log In to JetBrains Account...
进入网页根据提示步骤一步步进行账号注册,这里便不过多说明
注册成功会,返回CLion,点击Close
即可开始使用
新建一个工程
选择存放的路径,并点击Create
完成建立
依次选择File
->Settings
->Build,Execution,Deployment
->Toolchains
,点击MinGW
,可以看见已自动匹配好路径信息
至此就完成了 MinGW 的配置
5、Openocd
这是用来下载程序和调试程序的程序
进入官网下载:https://gnutoolchains.com/arm-eabi/openocd/
点击下载最新版即可:
下载完成后,解压文件到相同路径下
选择File
->Settings
->Build,Execution,Deployment
->Embedded Development
,把右侧OpenOCD Location
文件目录转换为前面的路径,注意选择bin
目录下的openocd.exe
,顺便把Stm32CubeMX Location
路径也配置了
点击OK
完成配置
最后将如图所示的路径添加到环境变量的Path
中
二、利用 CLion 点亮 LED
使用 Clion2021,采用一套新的嵌入式软件开发工具包(替代 Keil ),完成 stm32F103 点亮 LED 的程序
1、创建工程
新建一个工程,选择STM32CubeMX
,选择项目要保存的路径,点击Create
即可
注意:路径不能出现中文名,否则创建不成功
2、配置STM32CubeMX
工程创建好后,点击Open with STM32CubeMX
,进入STM32CubeMX
进入STM32CubeMX之后,点击左上角的STM32F030F4Px
,进入芯片选择
选择使用STM32F103C8
,选择中间弹出的信息栏,点击Start Porject
开始配置
首先配置SYS:点击System Core
,进入SYS
,在debug那里选择Serial Wire
接着配置RCC:进入RCC
,将HSE
设置为Crystal/Ceramic Resonator
配置引脚:设置引脚PC13
为GPIO_Output
来点亮 LED 灯
配置串口USART1:点击Connectivity
,修改串口USART1
的模式为Asynchronous
命名工程文件并设置:
进入Project Manager
页面,填写Project Name
(因为换芯片的过程,其实是 Cube 新建了一个.ioc文件),这里建议填写之前的工程名和工程路径,这样就可以把之前不需要的.ioc 文件覆盖掉
然后Toolchain/IDE
类型选择SW4STM32
最后点击右上角的GENERATE CODE
,选择 Yes
,生成工程
3、配置 CLion 工程文件
回到 CLion,可以看到出现了如下界面,选择st_nucleo_f103rb.cfg
并Use
注意:如果回到 CLion之后没有出现如上界面,那就可能是上一步生成 CubeMX 工程的时候,文件命名和目录选择与之前的不同导致的,只需要在 CLion 打开重新生成的 CubeMX 工程文件目录即可
寻找 st_nucleo_f103rb.cfg 文件的位置:
点击左上角如图位置:
出现下面界面,点击图中的...
,即可查看到st_nucleo_f103rb.cfg
文件的路径
修改 st_nucleo_f103rb.cfg 文件:
根据刚才查看到的路径位置打开文件,将第十行注释掉
代码含义:
第 4 行是选了连接方式为 stlink;
第 6 行是选择 swd 通信模式;
第 8 行是选择 stm32f1x 的配置文件;
第 10 行是选择重启模式,要将其注释起来,不注释掉下载可能失败
4、添加并编译代码
添加代码
打开main.c
文件,在 while 循环里添加使PC13
引脚 LED 灯闪烁的代码
代码如下:
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
此时,出现可编译的配置,而且左边的小锤子
由暗变亮
点击右上角的小锤子
,开始编译,结果如下:
编译成功,打开工程目录,可以在cmake-build-debug
文件夹下看到生成的.hex文件
5、烧录
选择文件,点击开始编程,将 .hex 文件烧录到 STM32F103C8T6 核心板中
6、运行结果
可以看见,PC13 端口的LED闪烁,实验成功
三、小结
CLion 是一款新的嵌入式软件开发工具包,在进行 CLion 的测试应用中,利用 CLion 调用了 STM32CubeMX 直接进行了 HAL 工程的建立,再通过 CMake 编译器完成代码编译,这功能相比于利用 STM32CubeMX先建立HAL工程,再利用 keil来完成简单、方便许多 ,另外CLion还有调试等功能,可以看出,CLion 是一个多功能跨平台的 IDE,能进一步的提高开发人员的工作效率,除了要收费,其他都是不错的。
四、参考链接
https://blog.csdn.net/m0_58892312/article/details/121866325