u/BreadWestern9159

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.

u/BreadWestern9159 — 15 days ago