CLion开发STM32
文章目录
环境准备
软件准备
硬件准备
- STM32F103RCT6
- ST-LINK V2
软件安装
注意安装路径尽量不要出现中文!!!
MIninGW
mingw,是Minimalist GNU on Windows 的缩写。它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 下,并且包含了 Win32API ,因此可以将源代码编译生成 Windows 下的可执行程序。
下载完成之后找到bin
目录,添加到系统环境变量Path中
系统属性->高级->环境变量
系统变量->Path->新建
OpenOCD
OpenOCD(Open On-Chip Debugger)是一个开源的片上调试器,旨在提供针对嵌入式设备的调试、系统编程和边界扫描功能。OpenOCD的功能需要调试仿真器来辅助完成,调试仿真器是一个提供调试目标电信号的小型硬件单元。常用的有JLink、STLink等,一些开发板直接集成了调试仿真器。
下载完之后将bin
或bin-x64
目录(两者都可)加到环境变量中去,方法同上。
arm-none-eabi-gcc
编译软件,或是准确点叫⼯具链。ARM框架、无供应商、无系统、嵌入式二进制接口,一般适合ARM7、Cortex-M、Cortex-R内核的芯片使用,所以不支持跟操作系统密切相关的函数。
同理将安装目录下的bin
目录添加到系统环境变量中去。
STM32CubeMx新建工程及配置
File->New Project->Part Number
System Core->SYS->Debug设置调试器类型
Debug | 调试器类型 |
---|---|
No Debug | 无调试器 |
Serial Wrie | SWD调试器 |
JTAG(4pins) | 4线JTAG调试器 |
JTAG(5pins) | 5线JTAG调试器 |
Trace Asynchroous Sw | 带异步Trace的调试器 |
本次硬件使用的是SWD调试器,所以Debug为Serial Wrie
设置时钟RCC->High Speed Clock(HSE)-> Crystal/Ceramic Resonator
设置PD2为GPIO_Output
更改Clock Configuration,HCLK设置为72MHz
Project Manager->Project->Toolchain/IDE->SW4STM32
Code Generator配置
最后GENERATE CODE生成代码
CLion配置
工具链
设置->构件、执行、部署->工具链
配置如下
CMake
配置如下
可勾选在编辑CMakeLists.txt或其他 CMake配置文件时重新加载 CMake项目
自动重装置CMakeLists.txt
嵌入式开发
配置如下
点击一旁的Test
按键,确认一下路径是否正确。
如果出现绿色的提示框,则说明路径正确。
程序编写及烧录
在STM32CubeMx生成的文件目录,右击在CLion中打开。
在工程主目录下建立新文件夹config,在config中新建stlink.cfg
stlink.cfg文件内容为
source [find interface/stlink-v2.cfg]
transport select hla_swd
source [find target/stm32f1x.cfg]
reset_config none
其他的芯片或者下载器的配置,可以参考OpenOCD
自带的一系列配置文件,路径在OpenOCD
安装目录的share\openocd\scripts
下。
在小锤子旁边下拉,点击编辑配置
将刚才创建的stlink.cfg
文件添加到面板配置文件
在main.c
中编写流水灯程序测试
while (1)
{
/* USER CODE END WHILE */
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET);
HAL_Delay(500);
/* USER CODE BEGIN 3 */
}
三个符号分别表示编译、烧录和调试。
编译文件生成相应的hex
和bin
文件,则表示编译成功
烧录程序,连接好下载器,点击运行按钮
如图提示已下载固件,则表示烧录成功。