基于CLion2021与STM32Cube点亮LED灯
一、CLion2021的下载与安装
1.1 CLion 介绍
- Clion 是一款专门开发 C 以及 C++ 所设计的跨平台的 IDE。它是以 IntelliJ 为基础设计的,包含了许多智能功能来提高开发人员的生产力。
- 这种强大的 IDE 帮助开发人员在 Linux、OSX 和 Windows 上来开发 C/C++ ,同时它还能使用智能编辑器来提高代码质量、自动代码重构并且深度整合 Cmake 编译系统,从而提高开发人员的工作效率。
- CLion 支持 GCC、clang、MinGW、Cygwin 编译器以及 GDB 调试器。提供对 Cmake 支持:包含自动处理 Cmake changes 和 Cmake Targets,更新新创建的 C/C++ 档案以及 Cmake Cache 编辑器。
1.2 下载安裝CLion
- 百度网盘下载:
链接:https://pan.baidu.com/s/1g0-Bm-AIhEatH8_nBAJXxA
提取码:wfuu - 官网下载:CLion2021.2 Winx64
https://www.jetbrains.com/zh-cn/clion/download/#section=windows
注意:结合CubeMX的版本选择,这里是最新版的,因为有的老版本可能调用不了新版的CubeMX,下载老版本可以点击左下角的“ 其他版本 ”。
打开下载好的.exe文件,点击Next即可;
选择安装目录,Next;
勾选以下选项,Next;
点击Install,开始安装;
安装中;
选择暂时不重启,Finish完成安装;
在开始—最近添加可以看到CLion;
打开CLion,勾选同意用户协议继续;
登录账户,可以直接选择用邮箱注册或是GitHub、Google的账号,注册成功后回到CLion直接跳转如下页面,可以看到30天的试用截止日期;
1.3 下载安装arm-none-eabi-gcc
- 百度网盘:(推荐使用,速度较快)
链接:https://pan.baidu.com/s/1YWvg33nVlse_KKW8-vZE5g
提取码:6kmq - 官网:
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
打开压缩包并安装:
勾选第三项直接添加路径到环境变量;
点击完成,跳出命令框,输入测试语句:arm-none-eabi-gcc -v
跳出如下信息,即安装成功!
1.4 下载安装MinGW
- 百度网盘:
链接:https://pan.baidu.com/s/1p8Gt-W7aihRJnnFVpdHkUA
提取码:hy0j - 官网:
https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/
下滑找到压缩包直接下载即可;
1.5 安装OpenOCD
- 百度网盘:
链接:https://pan.baidu.com/s/1dNbOmWr01fVKdAENAt3Rig
提取码:762y - 官网:https://gnutoolchains.com/arm-eabi/openocd/
下载最新版即可;
二、配置CLion
2.1 添加环境变量
在window系统中,右击计算机选择属性,或者直接打开系统设置中关于,点击高级系统设置,打开环境变量;
添加下载好的CLion、minggw64、OpenOCD的bin文件;
2.2 新建CLion工程
打开CLion,新建一个工程,点击STM32CubeMX
,选择存放路径;
2.3 修改Toolchains
在File—Settings选择Toolchains,会自动读取MinGW,修改Debugger
路径如下;
2.4 修改CMake
在CMake中修改Toolchain为MinGW
;
2.5 修改Embedded Development
在Embedded Development中修改OpenOCD与Stm32CubeMX的Location,选择其安装路径下的exe
文件;
修改完成后,点击OK,回到主页,可以看到跳出一个.ioc
文件,点击Open with STM32CubeMX,进入Cube;
三、创建Cube工程
详细工程可参考:STM32CubeMX的搭建及使用HAL库实现LED闪烁
- 进入Cube后,系统默认芯片为STM32F030F4Px,点击进入芯片选择;
- 点击刷新,选择芯片版本,开始创建工程;
- 修改SYS处Debug为
Serial Wire
;
- 修改RCC处的HSE为
Crystal/Ceramic Resonator
;
- 在GPIO处,选择PC13为
GPIO_Output
;
- 在Connectivity页面的USART1处,选择Mode为
Asynchronous
;
- 最后在Project Manage处配置工程名称及路径,这里工程名与前面在CLion中配置的工程名相同,是为了覆盖掉在CLion生成的.ioc文件;
注意选择Toolchain / IDE为SW4STM32
,生成代码即可;
- 跳出文件覆盖警告,点击Yes即可;
该警告也直接Yes;
四、配置CLion工程文件
4.1 Board Config
返回到CLion,会自动跳出以下页面,选择st_nucleo_f103rb.cfg
文件,点击Copy to Project & USE;
注意:如果回到 CLion之后没有出现如下界面,那就可能是上一步生成 CubeMX 工程的时候,文件命名和目录选择与之前的不同导致的,只需要重新在 CLion 打开重新生成的 CubeMX 工程文件目录即可。
在左边文件目录即可看到该**.cfg**文件,双击打开并把最后一行注释掉;
第 4 行是选了连接方式是 stlink;
第 6 行是选择 swd 通信模式;
第 8 行是选择 stm32f1x 的配置文件;
第 10 行是选择重启模式,需要要将其注释起来,不然可能下载失败。
4.2 修改main.c
在main函数的while循环中添加代码,使PC13引脚的LED灯闪烁;
while (1)
{
/* USER CODE END WHILE */
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 BEGIN 3 */
}
4.3 编译运行
点击右上角的绿色小锤子,即可编译;
4.4 烧录结果
将生成的hex文件烧录到STM32F03C8T6中;
LED灯循环闪烁,试验成功!
五、小结
通过安装配置CLion,替换使用Keil完成 STM32F103点亮LED灯,学习到另外一种嵌入式的软件开发工具包;配置过程有些复杂,但是按照教程一步步操作还是安装成功了,多用几次上手就应该比较熟练了!