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,能进一步的提高开发人员的工作效率,除了要收费,其他都是不错的。