RoboMaster——配置C型开发板的CLion+STM32CubeMX开发环境

目录

第七篇博客感言

前言

软硬件环境

软件安装

CLion

STM32CubeMX

OpenOCD 

MinGW

arm-none-eabi-gcc

ST-Link驱动程序

软件配置 

创建工程

编译

烧录 


第七篇博客感言

本科阶段的项目还有很多没有写,但是大多都找不到资料了,有资料的也因为过去太久不愿意再重新捡起,或许之后用到再回头学习顺便写博客吧。现在大四,接下来主要还是写写研究生阶段的内容,RoboMaster应该会成为一个重要的系列,今天就从第一步配环境开始写。


前言

在我自己配环境的时候,参考了很多大佬们写的Clion+STM32CubeMX开发环境配置教程,比如稚晖君的【教程】手把手教你用Clion进行STM32开发【如何优雅の进行嵌入式开发】,帮助很大。

但是因为使用的STM32芯片不同以及时间上的滞后性,所以还是有一些步骤存在差异,曾带给我一些困扰。又因为网上直接针对大疆C型开发板的配置教程偏少,而这又是RMers的必经之路,所以特此写一篇博客记录。


软硬件环境

【Windows11】

【RoboMaster大疆C型开发板-STM32F407IGHx】

【ST-Link下载器】

【STM32CubeMX -v 6.12.1】

【CLion -v 2024.2.2】

【OpenOCD -v 20240916】

【Mingw64 -v 14.2.0】

【arm-none-eabi-gcc -v 13.3.rel1】

【ST-Link驱动程序】


软件安装

注意理清每个软件的安装地址,后续配置路径会用到,且尽量避免使用中文路径否则容易报错,建议全部放在一个文件夹中,例如D:/STM32。

CLion

CLion是JetBrains下的一款开发软件,帮助开发者编写、运行和测试C/C++程序。官网下载链接如下:

Download CLion: A Smart Cross-Platform IDE for C and C++

建议直接下载JetBrains Toolbox APP,这样可以在APP内下载CLion和别的开发软件。

下载安装后提示选择30天免费试用或者登录JetBrains账号获取许可,注意学生可以免费使用,申请地址如下:

JetBrains Products for Learning

STM32CubeMX

STM32CubeMX是ST公司提供的一款图形化工具,主要用于简化STM32微控制器的配置和代码生成过程,非常好用。官网下载地址如下:

https://www.st.com/en/development-tools/stm32cubemx.html#get-software

OpenOCD 

OpenOCD(Open On-Chip Debugger)是一款开源工具,主要用于调试嵌入式设备中的微控制器。它支持多种调试和编程接口,特别适用于通过JTAG、SWD等调试协议与ARM Cortex系列微控制器(如STM32等)进行通信。下载链接如下:

Download OpenOCD for Windows

注意官网下载的OpenOCD可能会出现CLion无法读取的情况,所以建议在上面这一链接中下载。

下载后解压,可以得到bin、drivers、shares这三个文件,请记住它们的地址,后面会用到。 

接下来添加环境变量, 编辑Path,然后新建其bin文件地址,保存:

启动cmd,输入openocd -v,得到如下输出,表示安装成功:

MinGW

MinGW是一种编译工具,提供 GNU 编译器集合(GCC)及相关工具,使你可以在 Windows 系统上编译 C、C++ 等语言的代码。官方下载地址如下:

https://github.com/niXman/mingw-builds-binaries/releases

下载解压后,在环境变量中,编辑Path,然后新建其bin文件地址,请注意连续点击多个确定才能保存

添加到环境变量后,启动cmd,输入gcc -v,得到如下输出,表示安装完成。

arm-none-eabi-gcc

arm-none-eabi-gcc用于编译运行在 ARM 架构微控制器上的裸机应用程序,官方下载地址如下:

 Arm GNU Toolchain Downloads – Arm Developer

同样地,下载解压后,将其bin文件路径添加至Path环境变量中:

然后在cmd中输入arm-none-eabi-gcc -v,得到如下输出,表示安装成功:

ST-Link驱动程序

使用ST-Link下载器才需要安装这一驱动程序,如果使用的是Dap-Link需要安装其他驱动。

电脑USB插上ST-Link后(另一端连接C板SWD接口),在设备管理器中的其他设备中,你会发现一个带有一个黄色的感叹号的ST-Link设备,这表示没有安装相关驱动。点击更新驱动,选中本地OpenOCD的安装地址中的drivers文件夹ST-Link,即可安装驱动程序。若不再出现黄色感叹号,即表示安装成功。


软件配置 

启动CLion,打开设置,配置OpenOCD和STM32CubeMX的启动地址:

配置工具链:

确认CMake配置:


创建工程

以上完成了所有环境的搭建,接下来以点亮C型开发板的LED灯为例搭建工程。

按大多数博主的教程,是先在CLion中创建MX工程,但是这样非常不方便,因为如此做就必须保证MX的文件名字和地址必须与CLion中的一致,这样才能更新CLion中的代码,而对于初学者这无疑加大了开发难度。因此我们直接在MX中创建工程,然后用CLion打开工程。

启动STM32CubeMX,等待软件完成相关下载与配置。然后点击File-New Project,等待其完成更新,如果报错无法下载mcudoc可直接忽略。随后将进入板卡选择界面,对于大疆C型开发板,选择STM32F407IGHx,双击。接下来开始依次配置板卡:

首先,配置时钟:在Pinout & Configuration一栏,左侧System Core中选择RCC,将High Speed Clock设置为Crystal/Ceramic Resonator

然后,配置调试方式 :点击SYS,Debug选择Serial Wire

其次,配置主频:点击顶部Clock Configuration,完成有关配置如下:

接着,为了点亮LED灯,配置GPIO口输出。

查询原理图可以知道,C板的LED灯引脚为PH10,PH11,PH12,如图所示:

因此在MX中直接点击版上的三个引脚,将其设置为GPIO_Output,然后将电平拉高,如果需要还可配置引脚名称:

最后,进行工程文件名和路径配置:点击顶部Project Manager,设置名字为LED,IDE选择为SW4STM32

然后点击左侧Code Generator,勾选Generate peripheral initialization as a pair of ‘.c/.h’ files per peripheral:

如此便完成了工程文件的搭建,点击右上角GENERATE CODE,即可得到CLion可以识别的代码。


编译

启动CLion, 点击左上角打开项目,将刚才MX生成的工程目录LED作为项目文件夹:

此时可能会提示选择板卡,但是标准库中没有407IG,所以跳过。 

接下来需要完成一项配置文件,在工程目录中新建文件夹config,然后新建文件stlink.cfg,将下面这段代码粘入其中,保存:

# choose st-link/j-link/dap-link etc.
#adapter driver cmsis-dap
#transport select swd
source [find interface/stlink.cfg]
transport select hla_swd
source [find target/stm32f4x.cfg]
# download speed = 10MHz
adapter speed 10000

这段代码主要指定了下载器是stlink(如果你用的是stlink的话),板卡是stm32f4x,有了这个配置文件OpenOCD才能识别板卡,并完成烧录。

随后点击右上角编译,如果没有出现这几个图标,可以重启CLion,出现如下结果表示编译成功:


烧录 

接下来进行烧录,点击右上角编辑配置,新建一个OpenOCD下载运行配置,点击确定:

然后选择该运行文件,点击运行:

如果输出上述信息,表示OpenOCD没有识别到板卡,可能是因为ST-Link驱动没有安装成功,或者ST-Link与C板的接口SWD连接不稳,请检查连接。

如果成功烧录,输出仍有红色info,但是无error。并且将看到C板LED灯亮起,亮灯种类与MX中拉高的引脚的电平有关。可以尝试分别亮几个颜色的灯,以确保成功烧录。

至此,全环境配置及烧录完成,从此开启RM生涯!


欢迎交流讨论。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值