diff --git a/.vscode/openocd_daplink_gd32e23x.cfg b/.vscode/openocd_daplink_gd32e23x.cfg new file mode 100644 index 0000000..86534c4 --- /dev/null +++ b/.vscode/openocd_daplink_gd32e23x.cfg @@ -0,0 +1,23 @@ +# DAPLink-friendly GD32E23x flash/debug config +# Difference vs target/openocd_gdlink_gd32e23x.cfg: +# - no connect_assert_srst (breaks target examination with the current DAPLink) +adapter driver cmsis-dap +transport select swd + +source [find target/swj-dp.tcl] +source [find mem_helper.tcl] + +set _CHIPNAME gd32e23x +swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id 0x0BF11477 +dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu + +set _TARGETNAME $_CHIPNAME.cpu +target create $_TARGETNAME cortex_m -dap $_CHIPNAME.dap +$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size 0x1000 -work-area-backup 0 + +flash bank $_CHIPNAME.flash gd32e23x 0x08000000 0 0 0 $_TARGETNAME + +adapter speed 1000 +reset_config srst_only srst_nogate + +cortex_m reset_config sysresetreq diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 572c001..80a3b13 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -70,6 +70,31 @@ "tooltip": "Flash MCU" } }, + { + "label": "Flash MCU (DAPLink)", + "type": "process", + "command": "${env:GD32_OPENOCD_BIN}/openocd.exe", + "args": [ + "-s", "${env:GD32_OPENOCD_SCRIPTS}", + "-f", "${workspaceFolder}/.vscode/openocd_daplink_gd32e23x.cfg", + "-c", "program Application.elf verify reset exit" + ], + "group": "build", + "problemMatcher": [], + "options": { + "cwd": "${command:cmake.buildDirectory}/Application", + "environment": { + "OPENOCD_SCRIPTS": "${env:GD32_OPENOCD_SCRIPTS}" + } + }, + "presentation": { + "clear": true + }, + "icon": { + "id": "zap", + "tooltip": "Flash MCU via DAPLink (no connect_assert_srst)" + } + }, { "label": "Reset MCU", "type": "process",