CH32V307 : Debugging with vscode

 This is derived from https://www.justinmklam.com/posts/2017/10/vscode-debugger-setup


1- Install native debugging plugin gdb/... within vscode
2- Add (and change) the following line to your settings.json pointing to the toolchain binaries (especially the riscv gdb) and the wch-openocd bin folder :
"riscv_openocd_path" : "/opt/wch/MounRiver_Studio_Community_Linux_x64_V130/MRS_Community/toolchain/OpenOCD/bin",
"riscv_gdb_path" : "/opt/wch/MRS_Toolchain_Linux_x64_V1.60/RISC-V Embedded GCC/bin/"

3- Create the launch.json file, adapt the name to your project 

{
"version": "0.2.0",
"configurations": [
      {
"name": "riscv_GDB",
"type": "gdb",
"request": "launch",
"cwd": "${workspaceRoot}",
"target": "${workspaceRoot}/build/lnPowerSupply_CH32V3x_72M.elf",
"gdbpath" : "${config:riscv_gdb_path}/riscv-none-embed-gdb",        
"autorun": [        
        "target extended-remote |  ${config:riscv_openocd_path}/openocd -c \"gdb_port pipe; log_output openocd.log\" -f ${config:riscv_openocd_path}/wch-riscv.cfg",
        "set confirm off",
        "set mem inaccessible-by-default off",
        "set  architecture riscv:rv32",
        "set remotetimeout unlimited",
        "set remote hardware-breakpoint-limit 4",
        "mon reset halt",
        "load ",
        "tb main ",
        "b deadEnd "
        ]
     }
   ]
}

NB: This WCH OpenOcd daemon is unstable and needs to be restarted at each launch hence the way it is started here.

Comments

Popular posts from this blog

Component tester with STM32 : Part 1 ADC, Resistor

Fixing the INA3221

INA3221, weird wiring