想摆脱Keil的臃肿界面?用VSCode开发STM32单片机,不仅界面清爽,还能跨平台!本文以STM32F103C8T6为例,手把手教你配置开发环境,AI辅助编码,实现一键编译、下载、调试,从此告别报错烦恼!关注并建议收藏!✨
一、环境准备(Win/Mac通用)
1. 安装必备软件(VSCode)
-
VSCode下载:官网下载 https://code.visualstudio.com/
-
插件安装(VSCode扩展商店搜索安装)
-
Chinese:软件界面英文变中文版,操作秒懂
-
C/C++:代码高亮与智能提示
-
Cortex-Debug:单片机调试插件,支持ARM调试
-
Embedded IDE (EIDE):工程管理神器
-
智能编程助手(代码生成/解释/补全/单测)
Tabnine、Lingma、MarsCode AI
通义灵码内置模型:Qwen/DeepSeek-R1/DeepSeek-V3
MarsCode模型:Doubao/DeepSeek-R1/DeepSeek-V3
其他AI编程助手:Fitten Code、Baidu Comate(文心快码)
-
工具链
-
ARM GCC编译器:下载最新版,安装后添加
bin
目录到系统环境变量https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm备注:ARM GCC用于ARM嵌入式开发,MinGW-w64用于Windows应用开发。
-
烧录/调试工具:JLink、STLink、OpenOCD、PyOCD
Windows版OpenOCD调试工具:https://gnutoolchains.com/arm-eabi/openocd/
-
STM32CubeMX:官网下载,图形化配置生成HAL库标准工程模板
https://www.st.com.cn/zh/development-tools/stm32cubemx.html
2. 安装STM32CubeMX避坑提示
-
安装路径不能有中文或空格!
-
Java环境:CubeMX需Java支持,必须先安装JRE(Java Runtime Environment)JAVA运行环境,再安装STM32CubeMX软件。
-
HAL库 PACK包:F0、F1、F3、H7等Cortex内核,都需要对应的PACK包安装。
-
注意:JDK用于开发Java程序,包含了编译器(如javac)、调试工具(如jdb)、文档生成工具(如javadoc)等开发工具。JRE用于运行已编译的Java程序,提供了运行时环境(JVM)和核心类库——安装STM32CubeMX软件需要的是JRE。
二、创建STM32工程
1. 用CubeMX生成代码
(1)打开CubeMX → 选择芯片型号 STM32F103C8 → 配置时钟、GPIO等外设。——点亮LED灯_STM32CubeMX_HAL库实操的参考视频链接:
https://www.bilibili.com/video/BV1Jk4y1F7bA/?spm_id_from=333.999.0.0&vd_source=3486b75e4ca69792ff97b5f8b51b17b1
(2)关键设置
-
Project Manager → Toolchain/IDE 选择 MDK-ARM 或 Makefile
-
勾选 Generate peripheral initialization as a pair of .c/.h files,生成外设初始化头文件和源码文件
(3)点击 GENERATE CODE,生成工程文件
2. VSCode导入EIDE项目
-
点击EIDE插件,选择【导入项目】
-
项目类型MDK ARM,导入*.uvprojx 文件
(注意:*.uvproj 代表 C51 项目,*.uvprojx 代表 ARM 项目)
-
上述项目文件为STM32CubeMX软件配置自动生成,获取方式:后台回复【点灯_STM32CubeMX_HAL库】
三、EIDE构建配置
构建配置步骤如图中12345所示,里面的内容无需修改,点击构建,顺利通过。(6烧录见后)
四、烧录(ST-Link/OpenOCD)
烧录工具没有集成到 EIDE 安装包中,因此在使用烧录功能之前需要安装相应的 flasher工具。
1. STLink类型
-
烧录配置:如果下载器为STLink,先点击切换烧录器,选择【STLink for...】,然后点击【6烧录】,右下角会出现在线资源包的安装提示
-
点击【立即安装】在线资源包,保持网络顺畅。
-
安装设备驱动……
-
安装后,重启VS Code软件
-
STLink烧录成功的界面
2. CMSIS-DAP类型(OpenOCD)
-
如果下载器为CMSIS-DAP类型,则需要选择【OpenOCD】,芯片配置为【stm32f1x.cfg】,接口配置为【cmsis-dap-v1.cfg】——见下面烧录成功的界面图。
-
点击烧录,也会在右下角出现OpenOCD在线安装包资源提示,我忘记截图了。。。点击【立即安装】资源包
-
OpenOCD如果在VS Code中安装不成功的话,可以点击链接下载后手动安装:https://gnutoolchains.com/arm-eabi/openocd/
-
OpenOCD烧录成功的界面
五、Proteus仿真验证STM32软件开发
如果手头没有开发板实物,可以通过Proteus仿真的方式验证嵌入式软件开发效果。可参考该链接,目前文章阅读人数1.5w+
Proteus仿真STM32F103C8全流程(附代码)
六、智能编码
上述操作以“HAL库开发点亮LED灯”为例,打通了导入ARM项目、项目编译构建、将代码烧录到开发板的一系列流程,能够确保在VSCode端确实可以实现STM32单片机的开发。
在后期越来越有难度的嵌入式开发的软件编程中,可以随时在VSCode侧边栏打开通义Lingma或者MarsCode,借助DeepSeek或者其他大模型通过对话和上下文参考方式解决实际编程需求,助力嵌入式开发。
七、常见问题解决
-
编译报错“undefined reference”
检查 Makefile 中是否包含所有源文件路径
在 c_cpp_properties.json 中添加缺失的宏定义(如
__GNUC__
) -
下载失败“Could not connect to target”
确认ST-Link驱动安装正确(ST官网驱动)
检查OpenOCD配置文件路径是否正确