STM32CubeMX + VS Code + CMake + OpenOCD 调试环境搭建指南

一、生成 CMake 工程

  1. 打开 STM32CubeMX,创建你的项目(具体配置步骤此处省略)。
  2. 切换到 Project Manager 页面。
  3. 关键步骤:将 Toolchain / IDE 设置为 CMake(后续我们将使用 VS Code 开发)。
    在这里插入图片描述
  4. 点击 Generate Code,生成代码。
  5. 使用 VS Code 打开生成的文件夹。
    在这里插入图片描述

二、编译工程

  1. 在 VS Code 中打开项目后,点击左下角的 生成(Build) 按钮。
  2. 等待编译完成。若成功,输出信息应与下图一致:
    在这里插入图片描述

三、检查代码错误

  1. 切换到 clangd 的输出信息窗口,查看是否有报错。
  2. 打开任意源代码文件(如 .c.h),检查是否存在红色波浪线(语法/路径错误)。
    在这里插入图片描述
  3. 若无错误,即可进入下一步。

四、运行与调试配置

当软硬件准备就绪后,需要在 VS Code 中创建调试配置文件 launch.json

1. 创建 launch.json

  • 打开项目文件夹。
  • 点击左侧 “运行和调试” 图标(或按快捷键 Ctrl+Shift+D)。
  • 点击 “创建 launch.json 文件”,在弹出的环境列表中选择 Cortex-Debug
  • VS Code 将自动生成 .vscode/launch.json 文件。

2. 配置 launch.json

将默认内容替换为以下配置。请重点关注标注 // 请修改 的字段,根据你的实际硬件进行修改。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug with OpenOCD",        // 配置名称,可自定义
            "type": "cortex-debug",             // 调试器类型,固定为 cortex-debug
            "request": "launch",                // 请求类型,固定为 launch
            "servertype": "openocd",            // 后端服务器类型,使用 OpenOCD
            "cwd": "${workspaceFolder}",        // 调试器工作目录,项目根目录
            "executable": "${workspaceFolder}/build/Debug/YOUR_PROJECT_NAME.elf", // 请修改:指向你的 .elf 文件路径
            "device": "STM32F407ZG",            // 请修改:填入你的具体芯片型号
            "configFiles": [                    // OpenOCD 配置文件
                "interface/stlink.cfg",         // 请修改:根据调试器选择,如 stlink-v2.cfg, jlink.cfg 等
                "target/stm32f4x.cfg"          // 请修改:根据芯片系列选择,如 stm32f1x.cfg
            ],
            "svdFile": "${workspaceFolder}/YOUR_CHIP.svd", // 可选:SVD 文件路径,用于查看外设寄存器值
            "gdbPath": "arm-none-eabi-gdb",     // GDB 客户端路径(通常已在 PATH 中)
            "runToEntryPoint": "main"           // 启动后自动在 main 函数入口处停下
        }
    ]
}
Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐