news 2026/5/4 14:39:28

在VSCODE搭建STM32开发环境

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在VSCODE搭建STM32开发环境

在VSCODE搭建STM32开发环境

1. 引言

背景

STM32是STMicroelectronics公司生产的32位ARM Cortex-M系列微控制器,广泛应用于嵌入式开发领域。通常,STM32开发主要使用Keil MDK或ST官方的STM32CubeIDE作为开发工具。然而,Keil MDK作为商业软件需要付费授权,而STM32CubeIDE基于Eclipse架构,启动速度慢且占用资源较高。VSCode作为一款轻量级、插件生态丰富的代码编辑器,受到越来越多开发者的青睐。

本文将详细介绍三种在VSCode中搭建STM32开发环境的方法,帮助开发者根据自身需求选择最适合的方案。

目标读者

本文面向嵌入式初学者,假设读者具备基本的C语言编程基础,了解STM32的基本概念,但尚未深入接触过VSCode环境下的嵌入式开发。

文章结构

  • 第2章:开发前的准备工作

  • 第3章:方法一 KEIL Assistant插件法

  • 第4章:方法二 STM32CubeMX + Makefile + VSCode

  • 第5章:方法三 STM32CubeMX + CMake+ VSCode

  • 第6章:三种方法对比分析

  • 第7章:常见问题与解决方案


2. 准备工作

2.1 所需软件清单

无论选择哪种开发方式,以下软件都是必需的:

软件说明获取方式
VSCode代码编辑器https://code.visualstudio.com/
STM32CubeMX代码生成工具https://www.st.com/stm32cubemx
ARM GCC Toolchain编译器https://developer.arm.com/downloads/-/gnu-rm
JLINK驱动调试器驱动https://www.segger.com/downloads/jlink/

根据选择的开发方法,还需要安装:

方法额外软件
方法一(KEIL Assistant)Keil MDK 5.x(含License)
方法二(Makefile)Make工具(Windows建议安装MinGW或MSYS2)
方法三(CMake)CMake、Ninja构建工具

2.2 硬件需求

  • 调试器:JLINK

  • 开发板:任意STM32F103开发板

  • USB线:用于连接调试器和电脑

2.3 环境变量配置

将以下工具添加到系统PATH环境变量:(要根据自己实际文件路径来添加)

# ARM GCC D:\ARM toolchain\gcc-arm-none-eabi-10.3-2021.10-win32\gcc-arm-none-eabi-10.3-2021.10\bin ​ # Make (MinGW) D:\ARM toolchain\mingw64\bin ​ # CMake(如使用) D:\ARM toolchain\cmake-4.3.2-windows-x86_64\bin ​ # Ninja (如使用) C:\Program Files\Ninja\

提示:完成后打开命令提示符,分别输入arm-none-eabi-gcc --version,make -v, CMake--version来验证安装是否正确。


3. 方法一:KEIL Assistant插件法

3.1 原理概述

KEIL Assistant插件允许VSCode直接打开和编译Keil MDK项目,编译和下载仍然由Keil MDK完成。这种方式适合已有Keil项目不想迁移,但又希望使用VSCode编辑器的开发者。

3.2 所需插件

插件名称发布者功能
KEIL Assistantqudiv.keil-assistant核心插件,集成Keil编译下载
C/C++Microsoft代码补全、导航、调试
Cortex-Debugmarus25ARM调试支持

3.3 配置步骤

步骤1:安装Keil MDK

确保Keil MDK 5.x已正确安装,并且能够正常编译项目。记录Keil的安装路径(通常为C:\Keil_v5)。

步骤2:安装VSCode插件
  1. 打开VSCode,进入扩展市场(Ctrl+Shift+X

  2. 搜索 "KEIL Assistant"

  3. 点击安装并重启VSCode

步骤3:关联Keil项目
  1. Ctrl+Shift+P打开命令面板

  2. 输入 "KEIL: Select Project"

  3. 选择你的.uvproj文件

插件会自动检测Keil安装路径。

3.4 编译与下载

  • 编译:按Ctrl+Shift+B或点击状态栏中的编译按钮

  • 下载:插件会调用Keil的Flash算法进行下载

3.5 调试

使用Cortex-Debug配置调试(launch.json):

{ "version": "0.2.0", "configurations": [ { "name": "Cortex Debug (JLINK)", "type": "cortex-debug", "request": "launch", "runToEntryPoint": "main", "executable": "${workspaceFolder}/build/project.elf", "servertype": "jlink", "device": "STM32F411RE", "interface": "swd", "serialNumber": "" } ] }

3.6 优势与不足

优势不足
零学习成本,直接使用现有Keil项目仍依赖Keil MDK(商业软件,需License)
完美支持Keil的编译选项和Flash算法不是原生VSCode工作流,本质是Keil封装
适合从Keil过渡到VSCode的开发者功能受限于Keil已有功能
调试方便,可直接调用Keil调试器仅支持Windows,跨平台受限

4. 方法二:STM32CubeMX + Makefile + VSCode

4.1 原理概述

使用STM32CubeMX生成Makefile项目,然后在VSCode中通过Makefile Tools进行编译,配合Cortex-Debug进行调试。这种方式使用原生GNU工具链,不依赖商业IDE。

4.2 所需插件

插件名称发布者功能
Makefile Toolsms-vscode.Makefile-toolsMakefile支持
C/C++Microsoft代码补全、导航
Cortex-Debugmarus25ARM调试支持

4.3 配置步骤

步骤1:安装构建工具

安装ARM GCC Toolchain

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

  2. 选择Windows版本(gcc-arm-none-eabi-10.3-2021.10-win32.exe

  3. 安装并添加到PATH

安装Make工具(Windows)

  1. 下载地址:x86_64-15.2.0-release-win32-seh-ucrt-rt_v13-rev1.7z

  2. 将MinGW64/bin目录添加到PATH。

步骤2:生成Makefile项目
  1. 打开STM32CubeMX,选择目标芯片

  2. 配置外设和时钟

  3. 进入Project Manager

  4. 设置Toolchain/IDEMakefile

  5. 点击Generate Code

生成的項目文件夹中包含Makefilestartup_stm32f411xe.s等文件。

步骤3:安装VSCode插件

在VSCode扩展市场安装:

  • Makefile Tools

  • C/C++

  • Cortex-Debug

步骤4:配置Makefile Tools

Ctrl+Shift+P,输入 "Makefile: Configure"。

4.4 编译与调试

  • 编译:在终端运行make -j4或按Ctrl+Shift+B

  • 调试:按F5启动调试会话

4.5 优势与不足

优势不足
原生GNU工具链,无需商业License需要同时使用CubeMX(生成代码)和VSCode(编辑调试)
跨平台支持(Linux/macOS/Windows)Makefile需要手动维护
构建过程完全可控学习曲线:需要理解Makefile语法
CI/CD友好,易于集成自动化构建双重IDE工作流,代码同步稍繁琐
免费开源

5. 方法三:STM32CubeMX + CMake+ VSCode

5.1 原理概述

STM32CubeMX从6.0版本开始支持直接生成CMake项目。CMake是业界标准的跨平台构建工具,生成的构建文件可以被VSCode、CLion、Qt Creator等多种IDE使用。

5.2 所需插件

插件名称发布者功能
STM32CubeIDE for Visual Studio CodeSTMicroelectronics官方ST插件,项目管理
CMakeToolsms-vscode.cmake-toolsCMake项目集成
CMaketwxs.cmakeCMake语言支持
C/C++Microsoft代码补全、导航
Cortex-Debugmarus25ARM调试支持

5.3 配置步骤

步骤1:安装构建工具

安装CMake

下载地址:https://cmake.org/download/

选择Windows x64 Installer,安装时选择 "Add CMaketo system PATH"。

**安装Ninja(可选,推荐)

下载地址:https://github.com/ninja-build/ninja/releases

下载ninja-win.zip,解压后将ninja.exe放到合适目录并添加到PATH。

步骤2:生成CMake项目
  1. 打开STM32CubeMX,选择目标芯片

  2. 配置外设和时钟

  3. 进入Project Manager

  4. 设置Toolchain/IDECMake

  5. 点击Generate Code

生成的文件包含CMakeLists.txtcmake文件夹。

步骤3:安装VSCode插件

在VSCode扩展市场安装:

  • STM32CubeIDE for Visual Studio Code

  • CMakeTools

  • CMake

  • C/C++

  • Cortex-Debug

步骤4:配置CMakeTools
  1. 打开项目文件夹

  2. CMakeTools会自动检测CMakeLists.txt

  3. Ctrl+Shift+P,输入 "CMake: Configure"

  4. 选择ARM GCC Toolchain作为kit

首次配置可能需要选择编译器。

5.4 编译与调试

  • 配置:CMakeTools会自动配置项目

  • 编译:按Ctrl+Shift+P,输入 "CMake: Build"

  • 调试:按F5启动调试会话

5.5 优势与不足

优势不足
现代化构建系统,业界标准CMake语法比Makefile更复杂
IDE无关,可同时被多IDE打开ST对CMake的支持不如Makefile完善
条件编译、模块化项目管理方便学习成本较高
Ninja构建速度快有时需要手动调整CMakeLists.txt
社区支持广泛,大型嵌入式项目常用

6. 三种方法对比分析

6.1 功能对比表

特性KEIL AssistantMakefileCMAKE
License依赖需要Keil License仅需GCC(免费)仅需GCC(免费)
跨平台仅WindowsLinux/macOS/WinLinux/macOS/Win
学习曲线
构建灵活性很高
调试体验好(Keil调试器)
CI/CD支持很好
代码生成需CubeMX需CubeMX
社区生态有限广泛很广泛
IDE可移植性仅KeilMakefile通用CMake多IDE支持

6.2 适用场景

方法推荐场景
KEIL Assistant团队已用Keil项目;需要快速迁移;不想改变现有工作流
Makefile需要跨平台开发;需要集成CI/CD;希望深入理解编译过程
CMake大型多模块项目;需要在多IDE间切换;追求现代化开发实践

6.3 初学者选择建议

对于嵌入式初学者,建议:

  1. 入门首选KEIL Assistant:如果已有Keil License,想快速体验VSCode,这是最简单的方式

  2. 进阶选择Makefile:想摆脱Keil依赖,学习嵌入式编译原理,Makefile是很好的起点

  3. 专业选择CMake:有大型项目需求或想在嵌入式领域深入发展,CMake是工业标准


7. 常见问题与解决方案

7.1 编译错误

Q:提示 "arm-none-eabi-gcc: command not found"

A:ARM GCC未正确添加到PATH。打开命令提示符,输入arm-none-eabi-gcc --version验证。

Q:Makefile报错 "missing separator"

A:Makefile中使用了Tab缩进但编辑器使用了空格。请将相关行的开头改为Tab字符。

7.2 调试连接问题

Q:JLINK无法连接

A:

  1. 检查JLINK驱动是否正确安装

  2. 确认开发板供电正常

  3. 检查SWD接口接线是否正确(SWDIO、SWCLK、GND)

  4. 尝试重新安装JLINK驱动

Q:Cortex-Debug提示 "Unable to open file"

A:确保.elf文件路径正确,且文件存在。检查launch.json中的executable路径。

7.3 IntelliSense配置问题

Q:头文件显示红色波浪线,但编译正常

A:检查c_cpp_properties.json中的includePath是否包含所有头文件目录。

7.4 环境变量问题

Q:修改PATH后工具仍找不到

A:需要重启VSCode或重新打开终端窗口,环境变量才会生效。

Q: 为什么我已经装了 MinGW-w64 却没有 make 呢?

A:这是一个很常见的问题,主要是命名不同:MinGW-w64 遵循 Windows 的传统,把 make 命名为 mingw32-make.exe,以区别于同名的其他系统命令.打开你之前解压 MinGW-w64 的目录(比如 C:\mingw64),进入 bin 文件夹,你就能找到 mingw32-make.exe 这个文件。复制一份并重命名:在 bin 文件夹里复制 mingw32-make.exe,然后把副本重命名为 make.exe。


附录:快速参考

推荐的VSCode插件清单

插件ID
KEIL Assistantqudiv.keil-assistant
STM32CubeIDE for Visual Studio Codestm32-vscode-extension
Makefile Toolsms-vscode.Makefile-tools
CMakeToolsms-vscode.cmake-tools
CMaketwxs.cmake
C/C++ms-vscode.cpptools
Cortex-Debugmarus25.cortex-debug
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/4 14:38:27

暗黑2存档编辑器完全指南:从零开始掌握d2s-editor的5大核心功能

暗黑2存档编辑器完全指南:从零开始掌握d2s-editor的5大核心功能 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 你是否想要完全掌控暗黑破坏神2的游戏体验?d2s-editor暗黑2存档编辑器正是你需要的开源工具…

作者头像 李华
网站建设 2026/5/4 14:35:26

3步上手PlayCover:在Mac上运行iOS游戏的完整指南

3步上手PlayCover:在Mac上运行iOS游戏的完整指南 【免费下载链接】PlayCover Community fork of PlayCover 项目地址: https://gitcode.com/gh_mirrors/pl/PlayCover 想在Mac上畅玩《原神》、《我的世界》等热门iOS游戏吗?PlayCover让你在Apple S…

作者头像 李华
网站建设 2026/5/4 14:31:03

AI编程助手认证网关:cursor-opencode-auth 原理、部署与实战

1. 项目概述与核心价值最近在折腾一些本地化AI编程工具链,发现一个挺有意思的项目叫“Infiland/cursor-opencode-auth”。乍一看这个标题,可能很多开发者会有点懵,这到底是干嘛的?是Cursor的授权工具?还是某种代码认证…

作者头像 李华
网站建设 2026/5/4 14:25:28

跨平台数位板驱动终极指南:轻松解决数位板兼容性问题

跨平台数位板驱动终极指南:轻松解决数位板兼容性问题 【免费下载链接】OpenTabletDriver Open source, cross-platform, user-mode tablet driver 项目地址: https://gitcode.com/gh_mirrors/op/OpenTabletDriver 数位板是现代数字创作的重要工具&#xff0c…

作者头像 李华
网站建设 2026/5/4 14:24:59

Taotoken 在自动化客服工单分类场景下的应用实践

Taotoken 在自动化客服工单分类场景下的应用实践 1. 场景需求与方案选型 电商平台每天产生大量客服工单,传统人工分类效率低下且成本高昂。通过大模型对工单内容进行语义理解,可实现自动分类并路由到对应处理流程。Taotoken 提供的多模型统一接入能力&…

作者头像 李华