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是否已经安装好了!
如果安装好了那就说明不是这个问题,就可以下一步了!
- 打开显示(View)菜单,选择命令面板(Command Palette)菜单项或(Ctrl+Shift+P)快捷键 打开命令面板。
- 在命令面板中,输入Configure Display Language,选择Configure Display Language命令,显示已安装的语言包列表。
- 在已安装的语言包列表中选择需要切换的语言包。
- 根据提示重启软件
三、安装插件【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的核心功能包括:
- 固件下载:将编译好的二进制文件(固件)通过调试接口烧录到嵌入式设备的存储器中。
- 断点设置:在程序中指定的代码行或地址处设置断点,当程序运行到这些位置时暂停执行,便于开发者检查和调试。
- 单步执行:逐行执行程序代码,以便详细分析每一步的运行情况,帮助发现代码中的问题。
- 寄存器和内存访问:可以直接查看和修改处理器寄存器和内存的内容,这对于调试低级别的嵌入式代码非常重要。
它是用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)调试下载
点击左下角调试下载按钮即可进行 【编译】->【下载】->【进入调试】: