一、关于Clion
CLion是Jetbrains公司旗下新推出的一款专为开发C/C++所设计的跨平台IDE,它是以IntelliJ为基础设计的,同时还包含了许多智能功能来提高开发人员的生产力。CLion经过几年的发展,从无到有,成为了一个越来越完善的C++ IDE,在官方论坛上,用户呼声很高的一个需求就是remote debugging、嵌入式开发。在最近几次更新里,CLion逐渐添加了相关的支持,虽然CLion在调试方面的功能还不够完善,但代码编辑绝对是一流的,调试的“手感”也比Eclipse舒服很多。
二、Clion软件安装与环境配置
1、Clion2021
到JB公司官网去下载,点击获取30天的免费试用版,省去繁琐的破解步骤。 这里根据自己的需要勾选,然后一路点击Next 安装。 出现以下界面后点击Finish 安装就完成了。
2、MinGW
为了在Windows上安装GCC,点击这里下载MinGW。 这里根据自己的需要勾选,开发windows程序选择win32 ,开发linux 、unix和mac等系统选择posix,然后一路点击Next 安装。 复制安装目录下bin 文件夹的路径并添加至环境变量。 打开高级系统设置 ,点击环境变量 ,选中Path ,新建环境变量并将刚刚复制的路径粘贴进去。 在cmd命令行输入gcc -v ,测试是否安装成功,出现如下界面则说明安装成功。
3、arm-none-eabi-gcc
这是用来编译stm32程序的交叉编译工具链,点击这里选择下列版本进行安装。 也是一路点击Next 安装。 安装完成后将安装目录下bin 文件夹的路径添加进环境变量。 在cmd命令行输入以下语句验证是否安装成功。
arm-none-eabi-gcc -v
出现如下界面说明安装成功。
4、Openocd
这是用来下载程序和调试程序的程序,它配合JTAG调试协议,可以对硬件设备进行指令集级别和寄存器级别的调试。点击这里选择最新版本下载。
5、STM32CubeMX
具体安装过程可以参考我这篇博客基于stm32CubeMX点亮流水灯以及keil5的管脚波形分析。
6、配置Clion
打开Clion,会跳出一个激活的界面,点击start trial 开始试用,试用期限为30天。点击Customize ,进入All settings 界面。选择Build,Execution,Deployment 模块的Toolchains ,点击加号 添加MinGW的编译工具,选择MinGW的安装目录之后,CLion会自动扫描到目录中的编译工具,点击ok完成添加。 选择Embedded Development 模块,将Openocd和STM32CubeMX的路径改成自己的,点击Test 测试路径。
三、点亮LED灯的具体实现步骤
点击New project 创建新工程,选择嵌入环境STM32CubeMx ,添加路径后点击Create 即可。 工程创建完成后,点击Open with STM32CubeMx 打开创建的ioc文件,先在STM32CubeMx上进行傻瓜式编程。 点击左上角的芯片型号修改成自己要用的芯片,我这里使STM32F103C8T6。 配置系统调试接口SYS ,选择 Serial Wire 。 配置外设RCC ,默认使用的内部RC振荡器,选择 HSE 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)。 设置PC13的模式为GPIO_Output 模式,控制LED灯的亮灭。 在设置工程参数时,这里因为我们重新选择了芯片相当于新建了一个ioc文件,在生成代码前,Project Name 填写之前的工程名就可以把之前的ioc文件覆盖掉,这里要特别注意文件路径要设置成之前在Clion设置的工程路径的上一层路径,否则在生成代码后工程将会在一个重新生成的同名的在原先路径下的文件夹中,Clion将无法读取工程。在Toolchain/IDE 处,选择SW4STM32 。然后点击GENERATE CODE 生成代码。 点击OPEN PROJECT ,在Clion打开生成的工程,这里会自动跳出一个Board Config Files 对话框,选择与自己芯片型号相关的开发板配置文件,只是在选择完以后,要点开这个文件仔细查看里面设置的参数,以免出现不必要的问题如连接方式与自身实际不符或下载失败等。 如果没有自动跳出Board Config Files 对话框或者要查看开发板配置文件的路径,可以点击绿色锤子图标 旁的图标选择Edit Configurations 设置或查看。 在Src 的main.c 的while 循环中添加自己书写的代码,这里我将PC13以设置成以1S的周期跳变电平控制LED灯的亮灭。
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);
HAL_Delay(1000);
点击右上角绿色锤子图标 ,Build无误后将hex文件烧录进芯片中,将二极管的短引脚接PC13,长引脚接高电平。
四、实验效果
可以看到,LED灯出现周期性的亮灭现象,这与我们所编写与代码相一致。
五、总结
在Clion的安装和环境配置过程花的时间比较长,网上的教程每一个都不完全相同,但都是值得的,它的使用体验真的比Keil舒服太多了,软件的界面风格简洁,还可以设置成自己喜欢的风格。代码有高亮显示,用户的代码体验也别有一番风格,在代码量很大的情况下,编程效率将大大提高。
六、参考资料
用clion自带的嵌入式开发功能和stm32cubeMX开发stm32!!! Windows上CLion配置和使用教程
|