
If you’ve been working with the CH32V20x/30x series (QingKe V4 RISC-V), you’ve probably felt the pain of the WCH-LinkE.
It’s closed-source, Windows-centric, and uses a "ping-pong" USB protocol that turns a 64KB SRAM dump into a 60-second coffee break.
Worst of all, it requires a OpenOCD fork that is distributed through Emails only.
I decided to stop waiting and built RVSWD_pico.
It’s a fully open-source debug probe firmware for the Raspberry Pi Pico that treats the WCH hardware with the respect it deserves.
I didn’t just build a probe; I forked OpenOCD to make this possible. No more email-ware.
It includes the support of this probe, a flash driver for the CH32V2/3 series (that is actually a SiP with a separate NOR flash die), and flash breakpoints for V4A/B: I patched the RISC-V debug logic to support transparent 16-bit flash patching.
/path/to/openocd -s /path/to/openocd/tcl -f interface/ddmi_demo.cfg -f target/wch_min.txt -c "init"
That's all, enjoy.
https://github.com/ImproperCatGirl/RVSWD_pico
https://github.com/ImproperCatGirl/openocd
Code quality is horrible, contributions welcomed.
Note: currently only QIngKe V4 models are supported, V2/V3 chips like the V003 (which already have pretty strong FOSS debug support) WIP.