跳到主要内容
版本:Next

5.6 VSCode + STM32 一

通过Cmake进行项目编译

1. 安装软件和工具

1.1 STM32开发套件

​ STM32CubeMX 下载地址:https://www.st.com.cn/zh/development-tools/stm32cubemx.html

​ STM32CubeCLT 下载地址:https://www.st.com.cn/zh/development-tools/stm32cubeclt.html

STM32CubeMX使用时,出现无法连接网络、.ld文件缺少字段导致编译等一系列问题,请自行选择较低版本安装。

因为STM32开发套件依赖jar环境,需要与当前电脑系统版本匹配。

1.2 VS Code和扩展插件

​ VS Code下载地址:https://code.visualstudio.com/

​ 扩展插件:

    C/C++、C/C++ Extension Pack、C/C++ Themes、CMake、CMake Tools、LLVM、STM32 VS Code Extension

​ STM32 VS Code Extension 扩展设置(@ext:STMicroelectronics.stm32-vscode-extension):

    Absolute path to the STM32CubeMX executable:STM32CubeMX可执行路径(必填)C:\ST\SetupSTM32CubeMX\STM32CubeMX.exe

Absolute path to the STM32CubeCLT folder:STM32CubeCLT安装路径(必填)C:\ST\STM32CubeCLT_1.16.0

imag

1.3 Openocd-esp

​ Openocd-esp 下载地址:https://github.com/espressif/openocd-esp32/releases

​ 系统环境变量path设置:

    C:\Openocd-esp\openocd-esp32-win64-0.12.0-esp32-20240821\openocd-esp32\bin

C:\Openocd-esp\openocd-esp32-win64-0.12.0-esp32-20240821\openocd-esp32\share\openocd\scripts

2. 搭建编译环境

2.1 配置工程

【Pinout&Configuration】-> 【SYS】->【Debug】选择【 JTAG (5 pins) 】

imag

【Project Manager】 ->【Project】->【Toolchain/IDE】选择Cmake;

imag

2.2【GENERATE CODE】

2.3 VS Code导入工程

​ 1)STM32 VS Code Extension,选择Import CMake project;

​ 2)选择工程所在文件夹;

​ 3)根据向导设置;

​ Project directory:xxx\xxx\xxx\ (默认);

​ Project type: CMake (默认);

​ Hardware: Device > STM32XXXX (默认);

​ ToolChain:GCC;

​ 4)点击 Import project;xxx\xxx\xxx\;

imag

2.4 新增 Debug with OpenOCD

​ 1)打开launch.json 文件;

​ 2)添加配置,选择 Cortex debug:OpenOCD;

​ 3)修改字段;

{
"cwd": "${workspaceRoot}",
"executable": "${command:cmake.launchTargetPath}", // 修改,编译后文件路径 xxx.elf(同上一个配置)
"name": "Debug with OpenOCD",
"request": "attach",
"type": "cortex-debug",
"servertype": "openocd",
"svdFile": "${config:STM32VSCodeExtension.cubeCLT.path}/STMicroelectronics_CMSIS_SVD/STM32G474.svd", // 修改,寄存器配置(同上一个配置)
"gdbPath":"${config:STM32VSCodeExtension.cubeCLT.path}/GNU-tools-for-STM32/bin/arm-none-eabi-gdb", // 修改,指定GDB路径(同上一项配置)
"armToolchainPath": "${config:STM32VSCodeExtension.cubeCLT.path}/GNU-tools-for-STM32/bin", // 修改,指定工具链路径(同上一项配置)
"configFiles": [
"interface/cmsis-dap.cfg", // 修改,openocd\scripts路径下调试器配置 xxx.cfg
"target/stm32g4x.cfg", // 修改,openocd\scripts路径下对应芯片配置 xxx.cfg
],
"searchDir": [],
"runToEntryPoint": "main",
"showDevDebugOutput": "none"
},

2.5 选择 Debug 选项

imag

3. 编译、调试程序

​ 编译:VS Code 【终端】 -> 【运行任务...】 -> Build + Flash;

​ 调试:选择Debug with OpenOCD 选项,并运行(F5);