CH32V003 and CH32V006 Continued
It's still slow but now it works much better, both CH32V003 and CH32V006.
Link to the RP2040 binary : Github
Note that the CH32V006 is much faster by default, hence making the experience better.
Sample vscode launch.json
"version": "0.2.0",
"configurations": [
{
// Builds the firmware (preLaunchTask), loads it and stops at main.
"name": "Debug (Swindle / SDI)",
"type": "gdb",
"request": "launch",
"cwd": "${workspaceFolder}",
"target": "${workspaceFolder}/target/riscv32ec-unknown-none-elf/release/ch32v003-rust-blink",
"gdbpath": "${config:riscv_gdb}",
"preLaunchTask": "Build (release)",
"valuesFormatting": "parseText",
//"showDevDebugOutput": "true",
//"stopAtEntry": true, // this uses `tbreak main`, a software breakpoint; "hb main" below does not
// Once the commands below are done the extension issues `run`, which
// restarts the target at the ELF entry point, so the session stops
// on the first breakpoint, i.e. on `main`.
"autorun": [
"target extended-remote /dev/ttySwindleGdb3", // ...Gdb2 for the other probe
"set remotetimeout 500000",
"mon reset",
"mon redirect 1", // keep target output out of this console
"monitor fq 100k", // SDI is a slow single-wire link
"monitor sdi_scan", // "monitor rvswdp_scan" over plain SWD
//"set architecture riscv:rv32",
"set mem inaccessible-by-default off",
"set confirm off",
"attach 1",
"load",
"compare-sections",
"hb main" // flash cannot be patched: hardware breakpoint
]
}
]
}

Comments
Post a Comment