launch.json的配置,可以用的
{
"name": "Debug",
"type": "cppdbg",
"request": "launch",
"miDebuggerPath": "./arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-gdb",
"miDebuggerArgs": "-ex 'tar ext:2331' -ex 'load ${workspaceFolder}/Debug/r52_camsys.elf'",
"program": "${workspaceFolder}/Debug/r52_camsys.elf",
"cwd": "${workspaceFolder}",
"externalConsole": true,
"MIMode": "gdb",
"preLaunchTask": "Start GDB Server"
},
tasks.json的配置,可以用
{
"version": "2.0.0",
"tasks": [
{
"label": "Start GDB Server",
"type": "shell",
"command": "/opt/SEGGER/JLink/JLinkGDBServerCLExe",
"args": [
"-if",
"jtag",
"-device",
"Cortex-R52",
"-endian",
"little",
"-speed",
"4000",
"-port",
"2331",
"-swoport",
"2332",
"-telnetport",
"2333",
"-vd",
"-ir",
"-localhostonly",
"1",
"-singlerun",
"-strict",
"-timeout",
"0",
"-nogui"
],
"isBackground": true,
"presentation": {
"reveal": "always",
"panel": "shared"
},
"problemMatcher": []
}
]
}
launch.json不能用配置{
"name": "JLink - r52_camsys",
"type": "cortex-debug",
"request": "launch",
"servertype": "jlink",
"device": "Cortex-R52", // 替换为你的确切设备型号
"interface": "jtag", // 或者 "swd",取决于你的硬件连接
"executable": "${workspaceFolder}/Debug/r52_camsys.elf", // 替换为你的 elf 文件路径
"serverpath": "/opt/SEGGER/JLink/JLinkGDBServerCLExe",
"serverArgs": [
"-vd",
"-ir",
"-singlerun",
"-strict",
"-nogui"
],
"port": 2331, // 与脚本中 -port 参数一致
"swoport": 2332, // 与脚本中 -swoport 参数一致
"telnetport": 2333, // 与脚本中 -telnetport 参数一致
"runToMain": true,
"setupCommands": [
{
"text": "target extended-remote :2331"
},
{
"text": "monitor swoport 2332"
},
{
"text": "monitor telnetport 2333"
},
{
"text": "load"
},
{
"text": "monitor reset"
},
{
"text": "c"
}
]
}
脚本
bash
/opt/SEGGER/JLink/JLinkGDBServerCLExe -if jtag -device Cortex-R52 -endian little -speed auto -port 2331 -swoport 2332 -telnetport 2333 -vd -ir -localhostonly 1 -singlerun -strict -timeout 0 -nogui