CLion开发STM32

CLion开发STM32

环境准备

软件准备

硬件准备

  • 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 WrieSWD调试器
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文件内容为

source [find interface/stlink-v2.cfg]

transport select hla_swd

source [find target/stm32f1x.cfg]

reset_config none

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

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

image-20220716151441227

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

image-20220716160739274

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 */
}

image-20220716161303580

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

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

image-20220716161448534

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

image-20220716161623984

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值