Skip to content
Snippets Groups Projects
README.md 8.12 KiB

ch32v003fun

An open source development environment (tooling, headers, examples) for the CH32V003 with gcc-riscv64 that can be used in Windows (Native), Linux and/or WSL. The CH32V003 is 10-cent part with a RISC-V EC core that runs at 48MHz, has 16kB of flash and 2kB of RAM and a bunch of peripherals. It also comes in SOP-8, QFN-20 and SOIC packages. You can get the datasheet here.

The goal of this project is to develop the tooling and environment for efficient use of the CH32V003. Avoid complicated HALs, and unleash the hardware! The existing EVT is massive, and dev environment weighty. This project specifically avoids the HAL and makes it so you can just use the TRM. In contrast, blinky is only 500 bytes with ch32v003fun, boots faster, and significantly simpler overall.

ch32v003fun contains:

  1. Examples using ch32v003fun, but not as many as using the HAL.
  2. "minichlink" which uses the WCH CH-Link with libusb, for cross-platform use.
  • An STM32F042 Programmer, the NHC-Link042
  • An ESP32S2 Programmer, the esp32s2-funprog
  • The official WCH Link-E Programmer.
  • Supports gdbserver-style-debugging for use with Visual Studio.
  • Supports printf-over-single-wire. (At about 400kBaud)
  1. An extra copy of libgcc so you can use unusual risc-v build chains, located in the misc/libgcc.a.
  2. A folder named "ch32v003fun" containing a single self-contained source file and header file for compling apps for the ch32v003.
  3. On some systems ability to "printf" back through
  4. A demo bootloader.

In Progress:

  1. Write more demos.

Features!