我正在开发Cortex-M3微控制器(STM32系列)上的应用程序.我正在尝试使用Visual Studio Code作为调试器接口,使用ST-Link v2 JTAG探针.我设法配置OpenOCD与我的设备通信,VSCode运行本地GDB并连接到OpenOCD.
现在我想在开始调试时让VSCode与GDB同时启动OpenOCD.我有以下launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Pipe Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/path/to/program.elf",
"stopAtEntry": false,
"cwd": "${workspaceFolder}/gcc-arm-none-eabi",
"environment": [],
"externalConsole": true,
"pipeTransport": {
"pipeProgram": "X:\\path\\to\\openocd-0.10.0\\bin-x64\\openocd.exe",
"pipeArgs": ["-f", "vscode.ocd"],
"pipeCwd": "${workspaceFolder}"
},
"MIMode": "gdb"
},
{
"name": "(gdb) Attach",
"type": "cppdbg",
"request": "launch",
"cwd": "${workspaceFolder}/gcc-arm-none-eabi",
"program": "${workspaceFolder}/path/to/program.elf",
"MIMode": "gdb",
"targetArchitecture": "arm",
"miDebuggerPath": "X:\\path\\to\\gcc-arm-none-eabi-4_8-2014q2-20140609-win32\\bin\\arm-none-eabi-gdb.exe",
"miDebuggerServerAddress": "127.0.0.1:3333"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我的vscode.ocd文件如下:
source [find interface/stlink-v2.cfg]
transport select "hla_swd"
source stm32l1.cfg
stm32l1.cpu configure -event gdb-attach halt …
Run Code Online (Sandbox Code Playgroud)