STM32CubeMX+VSCode开发

本文使用小熊派BearPi-IoT开发板,借助STM32CubeMX+VSCode开发工具,实现开发板上蓝灯闪烁的效果。小熊派BearPi-IoT开发板板载MCU是STM32L431RCT6。

一、下载安装STM32CubeMX

STM32CubeMX是ST官方出的一款针对ST的MCU/MPU跨平台的图形化工具,支持在Linux、MacOS、Window系统下开发,其对接的底层接口是HAL库。

STM32CubeMX 可以直观的选择 STM32 微控制器、配置微控制器、自动处理引脚冲突、动态设置确定时钟树、动态确定参数设置的外围和中间件模式和初始化。

下载地址:https://www.st.com/zh/development-tools/stm32cubemx.html

二、下载安装VSCode

下载地址:

https://code.visualstudio.com/Download

一直NEXT下一步

三、在VSCode中安装插件

  1. 下载arm-none-eabi-gcc

    下载地址:https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

    选择zip版本:
    在这里插入图片描述

  2. 下载MinGW-w64,为了实现里面的makefile 等功能

  3. 下载OpenOCD这里用来调试stm32,支持jlink stlink daplink

    下载地址:https://www.gnutoolchains.com/arm-eabi/openocd/

在这里插入图片描述

  1. 安装配置插件stm32-for-vscode

在这里插入图片描述

第1步先点击扩展,第2步在搜索框中输入stm32进行搜索,第3步选择搜索到的“stm32-for-vscode”进行安装。

安装完后再次启动VSCode,就会在左侧扩展栏显示对应的图标。

  1. 配置stm32-for-vscode

在这里插入图片描述

这里可以选择自动安装或手动输入配置的工具。下面显示输入build tools路径:

在这里插入图片描述

其中ArmToolchain输入的是bin路径;makepath和openocdpath是对应的可执行文件路径。

  1. 把ArmToolchain、makepath和openocdpath对应的bin路径添加到环境变量。

在这里插入图片描述

四、在STM32CubeMX中新建项目生成Makefile工程

  1. 通过选择一款MCU新建一个工程

在这里插入图片描述

  1. 选择对应的MCU,启动一个工程

在这里插入图片描述

第1步搜索对应的MCU系列;第2步选择对应的MCU具体型号;第3步启动一个工程。

  1. 配置GPIO

    由于板载的LED灯连接的是PC13引脚,所以我们把它设置称输出模式

在这里插入图片描述

  1. 配置时钟树

在这里插入图片描述

  1. 设置生成选项

在这里插入图片描述

在ProjectManager下,先后设置工程名、工具路径、工具链。尤其注意工具链Toolchain的设置,这里一定要选择Makefile。

  1. 最后点击右上角的“GENERATE CODE”生成工程代码

五、在VSCode中编译烧录

  1. 在VSCode的文件菜单中,选择打开文件夹,打开刚才生成的工程目录。

在这里插入图片描述

  1. 打开Src目录下的main.c文件,在main函数的while循环中加入下面的代码,实现蓝灯闪烁。

    在这里插入图片描述

  2. 点击进入STM32-for-VSCode插件界面

在这里插入图片描述

  1. 选择“编译”选项对当前工程代码进行编译

    在下面的终端窗口中可以看到生成了相应的hex文件和bin文件

在这里插入图片描述

  1. 选择烧录方式

在这里插入图片描述

  1. 选择"Flash STM32"选项,将生成的二进制烧录进MCU

    在这里插入图片描述

终端能显示烧录OK。
7. 验证结果:查看板载LED,实现闪烁效果。

### STM32CubeMXVSCode配置及烧录教程 #### 工具准备 为了实现基于STM32CubeMXVSCode开发环境搭建以及程序烧录,需先完成工具链的准备工作。这包括安装STM32CubeMXVSCode及其插件、GNU Arm Embedded Toolchain编译器套件以及其他必要的依赖项[^1]。 #### 配置流程 以下是具体的配置过程: 1. **初始化项目** 使用STM32CubeMX创建一个新的工程文件并设置目标微控制器型号及相关外设参数。完成后导出适用于GCC编译器的Makefile项目到指定目录下。 2. **安装必要软件** - 安装最新版本的Visual Studio Code编辑器。 - 在VSCode中通过扩展市场添加C/C++ IntelliSense支持插件(由Microsoft提供),用于语法高亮显示等功能;同时还需要安装名为"Cortex-Debug"调试插件来处理ARM Cortex架构下的断点调试操作。 3. **配置工作区** 打开之前从STM32CubeMX导出来的源码所在路径作为新的VSCode workspace加载进来之后调整tasks.json以匹配make命令执行需求,并修改launch.json使得能够连接硬件设备进行在线调试模式启动。 4. **编写构建任务** 编辑`.vscode/tasks.json` 文件定义一个build task用来调用外部make utility完成整个项目的链接组装阶段转换成最终可执行映像文件(.elf): ```json { "version": "2.0.0", "tasks": [ { "label": "Build Project", "type": "shell", "command": "make all", "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"] } ] } ``` 5. **设定调试选项** 修改 `.vscode/launch.json` 来适配实际使用的STLink v2 或其他兼容JTAG/SWD接口标准的编程器规格说明文档里提到的相关属性字段值比如 `request`, `type`, `name`, `preLaunchTask`, `miDebuggerPath`, `setupCommands` 等等: ```json { "version": "0.2.0", "configurations": [ { "name": "Cortex Debug", "type": "cortex-debug", "request": "launch", "servertype": "openocd", "executable": "./Output_Directory_Name/Project_Name.elf", "device": "STM32Fxxx", "interface": "swd", "configFiles": [ "board/st_nucleo_f4.cfg" ], "runToMain": true, "postRestartCommands": [ "break main" ] } ] } ``` 6. **上传固件至MCU** 当一切就绪后,在VSCode顶部菜单栏选择对应刚才建立好的configuration名称运行即可自动触发一系列动作直至成功把生成的目标代码灌入单片机内部flash存储区域当中去。 #### 注意事项 确保所有的驱动程序均已正确安装完毕并且物理连线无误(如SWDIO, SWCLK,GND,VCC),另外还需留意不同系列芯片可能存在的特殊要求或者差异之处。 ```bash st-flash write Build/Project_Name.elf 0x8000000 ``` 上述命令可以单独利用开源工具 st-link 实现快速刷写功能而不必每次都经历完整的gdb session握手协商环节。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值