【STM32开发笔记】基于STM32CubeMX2和STM32CubeIDE for VSCode的全新STM32C5开发体验
-
- 一、NUCLEO-C562开箱
- 二、STM32CubeMX2配置
-
- [2.1 打开STM32CubeMX2软件](#2.1 打开STM32CubeMX2软件)
- [2.2 创建STM32CubeMX项目](#2.2 创建STM32CubeMX项目)
- [2.3 配置LED控制引脚](#2.3 配置LED控制引脚)
- [2.4 生成CMake项目](#2.4 生成CMake项目)
- [三、STM32CubeIDE for VSCode开发](#三、STM32CubeIDE for VSCode开发)
-
- [3.1 安装VSCode插件](#3.1 安装VSCode插件)
- [3.2 打开CubeMX2生成的目录](#3.2 打开CubeMX2生成的目录)
- [3.3 编译CubeMX2生成的代码](#3.3 编译CubeMX2生成的代码)
- [3.4 编写LED闪烁代码](#3.4 编写LED闪烁代码)
- [3.5 调试LED闪烁代码](#3.5 调试LED闪烁代码)
ST近期推出了全新的STM32C5系列MCU,搭配新一代配置工具STM32CubeMX2,可为开发者带来焕然一新的开发体验。本文以NUCLEO-C562RE开发板为例,从零开始演示完整的"点灯"开发流程:使用STM32CubeMX2基于开发板创建项目并完成引脚配置,生成CMake工程后导入VSCode,借助STM32CubeIDE for VSCode插件包完成编译、下载与调试。整个过程无需Keil或IAR等传统IDE,即可实现从配置到调试的全链路开发。
一、NUCLEO-C562开箱
3月12日在得捷电子买的NUCLEO-C562RE开发板,从美国明尼苏达州发货,经过两个多星期的等待,上周末终于收到货了。经典的NUCLEO-64环保纸盒:

拆开包装盒,就是开发板本体了:

二、STM32CubeMX2配置
STM32CubeMX2安装包可以从ST官网下载,安装也很简单,这里就不再赘述了。
2.1 打开STM32CubeMX2软件
启动界面就很清新:

主界面同样很清新:

首次打开软件,主界面Recent projects是空的;创建过项目之后,下次打开时,在Recent projects下可以看到最近创建的项目。
2.2 创建STM32CubeMX项目
点中间的"Board",开始根据开发板创建项目:

选中NUCLEO-C562RE,点Continue继续。
填写项目名称,选择项目保存路径:

点"Automatically Download, Install & Create Project"继续。
界面上的项目创建进度条开始更新:

进度条跑完后,STM32CubeMX2项目即创建成功前面填写路径下应已生成 .ioc2 文件。

点"Launch Project"继续,进入配置流程。
2.3 配置LED控制引脚
刚进入配置界面是Pinout标签页,默认是图形化视图(Graphic view):

也可以切换成表格视图(Table view):

因为前面选择的是根据开发板创建项目,所以部分引脚的Signals已有预置配置。
找到PA5,展开Signals列的下拉菜单,勾选Configured:

然后再点右边的配置(Configure)按钮:

会弹出GPIO配置标签页,这里设置模式为输出:

这时候已经可以预览对应的代码了:

对于点灯项目,配置到此即可。
时钟树可以不用修改,但是可以切换到该标签页查看,也是很清新的界面风格,流畅程度只有实际操作过才能体验到:

2.4 生成CMake项目
点左侧的Project settings按钮,切换到项目设置标签页:

默认是CMake项目,另外可以选IAR或者Open-CMSIS(Keil6也是用的Open-CMSIS,可以理解为这是对Keil6的支持)。

三、STM32CubeIDE for VSCode开发
VSCode的下载安装比较简单,这里不再赘述;建议使用最新版VSCode,更新操作非常便捷。
3.1 安装VSCode插件
扩展这里搜索:STM32CubeIDE,能够搜到STM32CubeIDE for VSCode插件包,这个插件包里面一共包含15个插件,安装即可:

3.2 打开CubeMX2生成的目录
首次打开,STM32Cube Bundles Manager会在右下角弹出提示框,提示需要下载一系列支持工具包,点Yes确认即可:

下载完成后也可以看到当前已有的包(Bundle)有哪些,也可以进行升级:

3.3 编译CubeMX2生成的代码
点左侧CMake工具,然后找到C562_BLINK目标右侧的生成图标:

点击这个"生成"图标,即可开始编译,编译命令会显示在"输出"栏,左下角的BUILD ANALYZER还可以显示ROM/RAM占用情况:

3.4 编写LED闪烁代码
找到main.c,插入如下代码:
c
// PA5 is the pin connected to the on-board LED
HAL_GPIO_TogglePin(HAL_GPIOA, HAL_GPIO_PIN_5);
HAL_Delay(500);

3.5 调试LED闪烁代码
重新编译成功之后,就可以准备下载和调试了。
调试之前先将开发板通过USB Type-C线连接到PC,如果电脑已经安装了ST-Link驱动,则VSCode右下角会弹出识别到ST-Link调试器的提示信息。

此时切换到调试标签页,应该能够看到调试器信息:

项目默认没有调试的配置文件,需要点"创建一个launch.json文件",然后选中STLink GDB Server选项:

即可自动生成调试配置文件,这个文件是可以使用的,直接保存即可:

然后点"开始调试"按钮,稍等片刻,就可以看到调试会话已经成功启动了:

已成功停在断点处,按F5继续运行,就可以看到板子上的小灯闪烁了:

项目源码:https://gitcode.com/xusiwei1236/STM32C562-BLINK
CubeMX2生成的代码和之前的也有很大差异了,想看生成的代码的网友,可以看看。