一、前言
之前做过Keil调用32cubeMX实现点灯嵌入式:使用CubeMX和HAL库点亮LED流水灯,这一次尝试安装配置Clion,并用Clion调用32cubeMX实现点灯
二、安装Clion
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 编辑器。
2.下载Clion
去官网下载安装Clion https://www.jetbrains.com/zh-cn/clion/download/#section=windows
 下载好后打开exe文件    直接install安装   安装完成!
三、配置Clion环境
1.配置arm-none-eabi-gcc
这是用来编译 stm32 程序的交叉编译工具链 官网网址: GNU Toolchain | GNU Arm Embedded Toolchain Downloads – Arm Developer 下载下图这个,下完后直接解压即可  命令窗口(win+R,输入cmd打开)下输入arm-none-eabi-gcc -v 检查是否安装成功(这里要cd到解压目录的bin里面去),安装成功会出现以下内容: 
2.配置OpenOCD
进入官网下载然后解压 https://gnutoolchains.com/arm-eabi/openocd/ 
3.配置MinGW
官网下载 https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win64/Personal Builds/mingw-builds/
 下完之后解压
4.配置环境
打开Clion 选择 File-Settings-Build-Toolchains ,添加 MinGW,右边会自动匹配好路径信息,同时Debugger那里添加arm-none-eabi-gdb.exe  
选择 File-Settings-Build-Embedded Development ,将右侧的 OpenOCD 文件目录转换到自己下载的位置,最后点击 Test 发现提示颜色为墨绿色,即代表配置成功 (顺便把 CubeMX 也配置了)   
四、开始项目
用 CLion 创建新工程 选择 STM32CubeMX ,填写好项目要保存的路径,点击 Create 即可  工程创建好后,点击 Open with STM32CubeMX,进入 CubeMX  打开之后,点击左上角的如图位置,进入芯片选择  选择使用 STM32F103C8,之后点击 Start Porject 开始配置  配置SYS  配置RCC  配置引脚 设置 PC13 引脚为 GPIO_Output 来点亮 LED 灯  配置串口 USART1  命名工程文件并设置 Project Name 要重新填写一下(因为换芯片的过程,其实是 Cube 新建了一个 ioc 文件),建议填写之前的工程名和文件目录,这样就可以把之前不想要的那个 .ioc 文件覆盖掉,也可以像我这样取不同名字再弄个文件夹。 然后" Toolchain/IDE "那里,选择 SW4STM32 
最后点击右上角,选择 Yes,生成工程  然后回到clion 会弹出一个页面,选择stm32f103c8_blue_pill.cfg  在主函数main.c 中添加代码:
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 */
}
 然后File-Settings-Build-CMake ,如下图所示:  点击OK之后,右上角选择elf文件,小锤子变绿,点锤子编译运行  编译成功!  烧录到单片机上,hex路径如下图所示,具体连线参考我之前博客(前言有链接) 
五、运行效果

六、总结
本次实验因为环境变量、路径、没有覆盖就没有弹出界面、设置setting等一系列问题的折磨,可以说是一波三折,总结下来,我们还是用Keil吧,Clion的配置太难受了。
|