Posts

Showing posts from September, 2026

Swindle for CH32V003 : Try it out !

   Link  to a snapshot of the CH32V003 aware version of swindle for the RP2040 Gunzip the uf2 and do as usual to flash the rp2040 with the uf2. YOU ABSOLUTELY NEED A 1KOhm RESISTOR BETWEEN IO and 3.3v! Pinout : -CH32 IO pin : GPIO13 of RP2040 (+1K pullup to 3.3v!) -CH232 reset : GPIO10 of RP2040 (optional) - Ground! To use you need to setup gdb the following way (~ same thing with vscode) target extended-remote /dev/ttyACM0  (name of the CDC device) set remotetimeout 500000 monitor sdi_scan set mem inaccessible-by-default off set confirm off attach 1 load compare-sections If you see  " Detected CH32V003 chip with 16 k flash, 2 k ram ", it works!. Nb: It does not work very well with CH32V006, looks okay for CH32V003 NB2: The same firmware also supports CH32V2x|V3x/RP2040/STM32/.....

WIP: Swindle CH32V003 support

Image
 It has been a long time this has been on my todo list. I made the sw breakpoint framework a while back because i knew i would need it for that. Same for the RISCV flashstub framework. So with the assistance of deepseek/gemini to speed things up : Load and debug CH32V003 chip And it works, with breakpoints and everything : It is still early and a bit slow. Important :  - You ABSOLUTELY need a 1kB pullup on the IO pin (same pin used for SWDIO or RVIO). That should not be a problem when debugging CH32V23 or Arm chip. - Only RP2040 host for the moment