加载中...
CLion开发STM32
发表于:2022-07-16 | 分类: 单片机 STM32

CLion开发STM32

[TOC]

环境准备

软件准备

硬件准备

  • STM32F103RCT6
  • ST-LINK V2

软件安装

注意安装路径尽量不要出现中文!!!

MIninGW

mingw,是Minimalist GNU on Windows 的缩写。它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 下,并且包含了 Win32API ,因此可以将源代码编译生成 Windows 下的可执行程序。

下载完成之后找到bin目录,添加到系统环境变量Path中

系统属性->高级->环境变量
image-20220716153406866

系统变量->Path->新建

image-20220716153648820

OpenOCD

OpenOCD(Open On-Chip Debugger)是一个开源的片上调试器,旨在提供针对嵌入式设备的调试、系统编程和边界扫描功能。OpenOCD的功能需要调试仿真器来辅助完成,调试仿真器是一个提供调试目标电信号的小型硬件单元。常用的有JLink、STLink等,一些开发板直接集成了调试仿真器。

下载完之后将binbin-x64目录(两者都可)加到环境变量中去,方法同上。

arm-none-eabi-gcc

编译软件,或是准确点叫⼯具链。ARM框架、无供应商、无系统、嵌入式二进制接口,一般适合ARM7、Cortex-M、Cortex-R内核的芯片使用,所以不支持跟操作系统密切相关的函数。

同理将安装目录下的bin目录添加到系统环境变量中去。

STM32CubeMx新建工程及配置

File->New Project->Part Number

image-20220716090923564

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

image-20220716161025499

设置PD2为GPIO_Output

image-20220716150433102

更改Clock Configuration,HCLK设置为72MHz

image-20220716161111038

Project Manager->Project->Toolchain/IDE->SW4STM32

image-20220716151548301

Code Generator配置image-20220716154840694

最后GENERATE CODE生成代码

CLion配置

工具链

设置->构件、执行、部署->工具链

配置如下

image-20220716155402481

CMake

配置如下

image-20220716155605976

可勾选在编辑CMakeLists.txt或其他 CMake配置文件时重新加载 CMake项目自动重装置CMakeLists.txt

嵌入式开发

配置如下

image-20220716155917803

点击一旁的Test按键,确认一下路径是否正确。
如果出现绿色的提示框,则说明路径正确。

程序编写及烧录

在STM32CubeMx生成的文件目录,右击在CLion中打开。

在工程主目录下建立新文件夹config,在config中新建stlink.cfg

image-20220716160348617

stlink.cfg文件内容为

1
2
3
4
5
6
7
source [find interface/stlink-v2.cfg]

transport select hla_swd

source [find target/stm32f1x.cfg]

reset_config none

若为jlink.cfg则

1
2
3
4
5
6
7
8

# choose st-link/j-link/dap-link etc.
#adapter driver cmsis-dap
#transport select swd
source [find interface/jlink-swd.cfg]

source [find target/stm32f4x.cfg]
# download speed = 10MHz

jlink-swd.cfg为

1
2
adapter driver jlink
transport select swd

其他的芯片或者下载器的配置,可以参考OpenOCD自带的一系列配置文件,路径在OpenOCD安装目录的share\openocd\scripts下。

在小锤子旁边下拉,点击编辑配置

image-20220716151441227

将刚才创建的stlink.cfg文件添加到面板配置文件

image-20220716160739274

main.c中编写流水灯程序测试

1
2
3
4
5
6
7
8
9
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 */
}

image-20220716161303580

三个符号分别表示编译、烧录和调试。

编译文件生成相应的hexbin文件,则表示编译成功

image-20220716161448534

烧录程序,连接好下载器,点击运行按钮

image-20220716161623984

如图提示已下载固件,则表示烧录成功。

上一篇:
STM32CubeMx配置HAL库流水灯
下一篇:
Typora+PicGo+阿里云OSS服务配置图床
本文目录
本文目录