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)调试下载

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

相关推荐
LCG元1 小时前
STM32项目实战:基于STM32F103的智能农业监控系统
stm32·单片机·嵌入式硬件
ACP广源盛139246256731 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
一起搞IT吧2 小时前
Android性能系列专题理论之十:systrace/perfetto相关指标知识点细节含义总结
android·嵌入式硬件·智能手机·性能优化
Truffle7电子3 小时前
STM32CubeIDE/Programmer/Touch GFX 应用
stm32·单片机·嵌入式硬件
constant_LDX4 小时前
步进电机开发(一、硬件设计)
单片机·嵌入式硬件
北山有鸟4 小时前
修改源码法和插件法
嵌入式硬件·学习
richxu202510014 小时前
嵌入式学习之路->stm32篇->(14)通用定时器(上)
stm32·单片机·嵌入式硬件·学习
Deitymoon4 小时前
STM32——串口通信(USART)
单片机·嵌入式硬件
iCxhust4 小时前
微机原理实践教程(C语言篇)---A002流水灯
c语言·开发语言·单片机·嵌入式硬件·51单片机·课程设计·微机原理
Deitymoon6 小时前
STM32——外部中断按键控制led
stm32·单片机·嵌入式硬件