STM32的VSCode下开发环境搭建

Visual Studio Code(简称VSCode) 是一款由微软开发的免费、开源的代码编辑器!!支持各种插件,很多的开发环境都可以通过插件安装的方式直接将 VSCode 化身为一个功能齐全的IDE,在功能强大的同时,它也没有忘记自己的底色------代码编辑器!有AI的加持,能让代码的编写更加方便快捷。

一、安装VSCode

我们打开VSCode的官方网站:https://code.visualstudio.com/download

我们直接双击安装包,即可进行安装。

  • 安装位置(切记不要使用中文路径!!!)
  • 附加任务【请注意!!这个很重要】选择完成之后点击下一步即可!

出现下面的页面即可!!

重启电脑(为了使设置生效)!

二、汉化界面

我们直接打开VSCode软件,点击下面小图片,进入扩展商店!

我们先安装Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code​,这是可以让界面汉化的工具!

在扩展商城搜索该插件的名字,选张第一个,点击Install​进行安装即可!

这里我已经安装过了,所以不会显示安装按钮!!

这个插件安装完成之后 VSCode​ 会在右下角提示你重启,点击 Restart​ 重启即可将界面变为中文!!

【如果重启之后没有变为中文,则看下面这个方法】:

先去扩展商店查看下扩展Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code​是否已经安装好了!

如果安装好了那就说明不是这个问题,就可以下一步了!

  1. 打开显示(View)菜单,选择命令面板(Command Palette)菜单项或(Ctrl+Shift+P)快捷键 打开命令面板。

  2. 在命令面板中,输入Configure Display Language,选择Configure Display Language命令,显示已安装的语言包列表。

  3. 在已安装的语言包列表中选择需要切换的语言包。

  4. 根据提示重启软件

三、安装插件【STM32Cube for Visual Studio Code】

在安装的过程中会同步安装其他的插件!在右下角会有提示。

等待右下角没有任何安装的信息弹出,说明已经安装完成,重启 VSCode​ 软件。

四、创建工程

1、CubeMX生成初始项目

我们点击左边的新出现图标,然后点击 Launch STM32CubeMX​,他会自动打开我们电脑中安装的 STM32CubeMX​ 软件。

在STM32CubeMX​ 中新建一个工程,进行一些简单的引脚功能配置(一般都是外部晶振,SWD,串口、时钟之类的....):

然后设定工程名,选择保存位置,设定目标IDE​,最后点击 GENERATE CODE​ 生成:

注意:这里的 Toolchain / IDE​ 一定要选择 CMake​ !!!

等待生成结束,就会在设定的位置(Project Location​)出现一个项目文件夹:

2、VSCode导入工程项目

我们直接用VSCode软件打开刚刚CubeMX​生成的工程文件夹:

然后VSCode​会自动帮我们配置相关的选项:

五、调试下载

这里我们有两种方式可以进行调试下载:

  • ST-Link:无需额外的软件,能被STM32的插件自动配置。
  • DAP-Link:需要用到额外的OpenOCD,进行配置。

1、ST-Link方式

我这里使用的是 ST-Link V2​ 的下载器,进行下载调试的,STLink​是ST​官方主推的一个下载器,使用这个的好处是不需要额外的配置,直接就可以使用,ST​官方已经配置好了。

在 Debug​ 页面中,可以看到我们的ST设备​:

点击左下角的小齿轮,可以直接进行编译:

设定调试文件,创建一个 launch.json​ 文件,我这里先选择STLink方式调试下载:

点击左下角调试下载按钮即可进行 【编译】->【下载】->【进入调试】​:

2、DAP-Link方式

1)安装OpenOCD

OpenOCD(Open On-Chip Debugger)是一款开源的调试工具,主要用于嵌入式系统的调试。它允许开发者通过硬件调试接口(如JTAG和SWD)与微控制器进行交互,执行调试任务,如下载固件、设置断点、单步执行代码等。

OpenOCD的核心功能包括:

  1. 固件下载:将编译好的二进制文件(固件)通过调试接口烧录到嵌入式设备的存储器中。
  2. 断点设置:在程序中指定的代码行或地址处设置断点,当程序运行到这些位置时暂停执行,便于开发者检查和调试。
  3. 单步执行:逐行执行程序代码,以便详细分析每一步的运行情况,帮助发现代码中的问题。
  4. 寄存器和内存访问:可以直接查看和修改处理器寄存器和内存的内容,这对于调试低级别的嵌入式代码非常重要。

​它是用C语言开发的​,具有较高的性能和跨平台支持,能够在多个操作系统(如Linux、Windows、macOS)上运行。

支持常见的硬件调试器,如JLINK,STLINK,DAPLINK等。

可以在这个链接下载:

和上面解压arm-none-eabi-gcc一样,解压到一个没有空格或中文字符的路径。然后把bin文件夹所处的目录添加至系统环境变量。

重启电脑并打开Windows PowerShell,输入openocd -v​像下图里面有输出就说明这个组件你安装好了,如果没有输出或者输出是红色的字,你就需要重新检测一下是不是环境变量添加错了。

2)新建launch.json​配置文件

选择 STM32插件​ 的通用GDB配置,自动生成文件:

我们需要修改几个参数:

  • serverExe:设定exe可执行文件为openocd的文件
  • serverParameters:设定dap和stm32h7的配置文件
  • serverPort:填写默认端口

完成的配置为:

复制代码
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [

        {
            "type": "stgdbtarget",
            "request": "launch",
            "name": "STM32Cube: STM32 Launch Generic GDB Server",
            "origin": "snippet",
            "cwd": "${workspaceFolder}",
            "preBuild": "${command:st-stm32-ide-debug-launch.build}",
            "program": "${command:st-stm32-ide-debug-launch.get-projects-binary-from-context1}",
            "gdb": "${command:st-stm32-ide-debug-launch.get-gdb-executable}",
            "deviceName": "${command:st-stm32-ide-debug-launch.get-device-name}",
            "deviceCore": "${command:st-stm32-ide-debug-launch.get-core-name}",
            "deviceTrustzone": "${command:st-stm32-ide-debug-launch.get-trustzone-status}",
            "serverExe": "openocd", // 选择openocd可执行文件
            "serverParameters": [
                "-f", "interface/cmsis-dap.cfg", // 此.cfg的文件位置为OpenOCD-20250710-0.12.0\share\openocd\scripts\interface
                "-f", "target/stm32h7x.cfg" // 此.cfg的文件位置为OpenOCD-20250710-0.12.0\share\openocd\scripts\target
            ],
            "serverHost": "localhost",
            "serverPort": "3333", // 默认3333端口
            "serverCwd": "",
            "runEntry": "main",
            "imagesAndSymbols": [
                {
                    "imageFileName": "${command:st-stm32-ide-debug-launch.get-projects-binary-from-context1}",
                    "imageOffset": "",
                    "symbolFileName": "${command:st-stm32-ide-debug-launch.get-projects-binary-from-context1}",
                    "symbolOffset": ""
                }
            ]
        }
    ]
}
3)调试下载

点击左下角调试下载按钮即可进行 【编译】->【下载】->【进入调试】​:

相关推荐
止观止1 小时前
如何开发 VSCode 内置扩展:从零开始构建最简扩展
ide·vscode·编辑器
Vae_Mars1 小时前
单片机中的TVS管
单片机·嵌入式硬件
hazy1k3 小时前
51单片机基础-直流电机控制
stm32·单片机·嵌入式硬件·51单片机
CHH32133 小时前
在 Mac/linux 的 VSCode 中使用Remote-SSH远程连接 Windows
linux·windows·vscode·macos
小莞尔5 小时前
【51单片机】【protues仿真】基于51单片机智能窗帘系统
c语言·stm32·单片机·嵌入式硬件·物联网·51单片机
我先去打把游戏先7 小时前
ESP32学习笔记(基于IDF):IOT应用——WIFI连接
笔记·单片机·嵌入式硬件·mcu·物联网·学习·esp32
清风6666669 小时前
基于单片机的简易智能衣架控制系统设计
单片机·嵌入式硬件·毕业设计·课程设计
酷飞飞10 小时前
I2C软实现基于GD32F407VE的天空星的配置
单片机·嵌入式硬件
充哥单片机设计10 小时前
【STM32项目开源】基于STM32的人体健康监测系统
stm32·单片机·嵌入式硬件
hazy1k11 小时前
51单片机基础-独立按键
stm32·单片机·嵌入式硬件·51单片机