本帖最后由 hbzjt2011 于 2025-7-17 20:16 编辑
#技术资源# #申请原创# @21小跑堂
前言传统的STM32开发通常使用Keil MDK或STM32CubeIDE,但VSCode作为一个轻量级且功能强大的编辑器,配合适当的工具链,可以打造出高效的STM32开发环境。本教程将详细介绍如何从零开始配置VSCode的STM32开发环境。 准备工作系统要求
- Windows 10/11 (本教程以Windows为例)
- 网络连接良好(需要下载多个工具)
- 至少4GB可用磁盘空间
第一步:安装基础工具1.1 安装VSCode
1.2 安装Git
第二步:安装ARM工具链
2.1 下载ARM GCC工具链
2.2 安装ARM GCC- 运行下载的安装程序
- 重要: 安装完成时勾选"Add path to environment variable"
- 验证安装:打开命令行输入 arm-none-eabi-gcc --version
第三步:安装调试工具
3.1 安装OpenOCD
3.2 安装MinGW-w64- 访问MinGW-w64官网或使用MSYS2
- 安装完成后确保 make 命令可用
- 验证:命令行输入 make --version
4.1 下载STM32CubeMX
4.2 配置STM32CubeMX- 启动STM32CubeMX
- 在Help菜单中选择"Manage embedded software packages"
- 下载所需的MCU包(如STM32F1系列)

第五步:配置VSCode扩展5.1 安装必需扩展在VSCode中安装以下扩展: - C/C++ (Microsoft)
- C/C++ Extension Pack (Microsoft)
- Cortex-Debug (marus25)
- ARM Assembly (dan-c-underwood)
- STM32Cube for Visual Studio Code
- GitLens (可选,用于Git增强)
5.2 配置C/C++扩展- 按 Ctrl+Shift+P 打开命令面板
- 输入 "C/C++: Edit Configurations"
- 创建配置文件
第六步:创建STM32项目
6.1 使用STM32CubeMX创建项目- 打开STM32CubeMX
- 选择"File" → "New Project"
- 选择目标MCU(如STM32F103ZET6)
- 配置引脚和时钟
- 在"Project Manager"中:
- 设置项目名称和路径
- Toolchain/IDE选择"Makefile"
- 勾选"Generate Under Root"

6.2 生成代码- 点击"GENERATE CODE"
- 等待代码生成完成
- 生成的项目包含Makefile和源代码

第七步:在VSCode中打开项目7.1 打开项目文件夹- 打开VSCode
- 选择"File" → "Open Folder"
- 选择刚才生成的项目文件夹

7.2 配置VSCode工作空间在项目根目录创建 .vscode 文件夹,并添加以下配置文件,注意编译器路径的设置: c_cpp_properties.json
- {
- "configurations": [
- {
- "name": "STM32",
- "includePath": [
- "${workspaceFolder}/**",
- "${workspaceFolder}/Core/Inc",
- "${workspaceFolder}/Drivers/STM32F1xx_HAL_Driver/Inc",
- "${workspaceFolder}/Drivers/STM32F1xx_HAL_Driver/Inc/Legacy",
- "${workspaceFolder}/Drivers/CMSIS/Device/ST/STM32F1xx/Include",
- "${workspaceFolder}/Drivers/CMSIS/Include"
- ],
- "defines": [
- "USE_HAL_DRIVER",
- "STM32F103xx"
- ],
- "compilerPath": "D:/Arm GNU Toolchain arm-none-eabi/14.3 rel1/bin/arm-none-eabi-gcc.exe",
- "cStandard": "c17",
- "cppStandard": "c++17",
- "intelliSenseMode": "gcc-arm"
- }
- ],
- "version": 4
- }

tasks.json
- {
- "version": "2.0.0",
- "tasks": [
- {
- "type": "shell",
- "label": "Build STM32",
- "command": "make",
- "args": [
- "all"
- ],
- "group": {
- "kind": "build",
- "isDefault": true
- },
- "problemMatcher": [
- "$gcc"
- ],
- "detail": "编译STM32项目"
- },
- {
- "type": "shell",
- "label": "Clean STM32",
- "command": "make",
- "args": [
- "clean"
- ],
- "group": "build",
- "detail": "清理编译文件"
- }
- ]
- }

launch.json
- {
- "version": "0.2.0",
- "configurations": [
- {
- "name": "Debug STM32",
- "cwd": "${workspaceFolder}",
- "executable": "${workspaceFolder}/build/your_project_name.elf",
- "request": "launch",
- "type": "cortex-debug",
- "servertype": "openocd",
- "configFiles": [
- "interface/stlink-v2.cfg",
- "target/stm32f1x.cfg"
- ],
- "svdFile": "${workspaceFolder}/STM32F103.svd",
- "showDevDebugOutput": "none"
- }
- ]
- }

第八步:编译和调试
8.1 编译项目- 按 Ctrl+Shift+P 打开命令面板
- 输入 "Tasks: Run Task"
- 选择 "Build STM32"
- 或者直接按 Ctrl+Shift+B
8.2 连接调试器- 连接ST-Link调试器到电脑和开发板
- 按 F5 或点击调试按钮
- 首次调试需要选择配置文件
第九步:实用技巧- 断点设置:在代码行号左侧单击设置断点
- 变量监视:在调试面板添加变量到监视窗口
- 寄存器查看:使用Cortex-Debug扩展查看ARM寄存器
- 内存查看:在调试控制台使用 -exec x/32x 0x20000000 查看内存
故障排除常见问题及解决方案- 编译错误:找不到arm-none-eabi-gcc
- 检查PATH环境变量是否正确设置
- 重新安装ARM工具链并确保勾选添加到PATH
- 调试连接失败
- 检查ST-Link驱动是否正确安装
- 确认OpenOCD配置文件路径正确
- 检查开发板连接和供电
- IntelliSense不工作
- 检查 c_cpp_properties.json 配置
- 确认包含路径正确
- 重启VSCode
- 无法下载程序
- 检查目标芯片是否匹配
- 确认调试器连接正常
- 检查芯片是否被保护
总结通过以上步骤,您已经成功搭建了完整的VSCode STM32开发环境。这个环境具有以下优势: - 轻量级:相比传统IDE更加轻便
- 可定制:丰富的扩展和配置选项
- 免费:无需购买昂贵的IDE许可证
- 跨平台:支持Windows、Linux、macOS
- 现代化:优秀的代码补全和调试体验
建议在实际开发中: - 定期备份项目配置文件
- 使用版本控制管理代码
- 学习更多VSCode快捷键提高效率
- 关注扩展更新,及时升级工具链
本教程基于STM32F1系列芯片,其他系列芯片的配置方法类似,只需调整相应的芯片型号和配置参数即可。
|