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
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) 】;
【Project Manager】 ->【Project】->【Toolchain/IDE】选择Cmake;
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\;
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 选项
3. 编译、调试程序
编译:VS Code 【终端】 -> 【运行任务...】 -> Build + Flash;
调试:选择Debug with OpenOCD 选项,并运行(F5);