Skip to content

Embedded Rust device crates for WCH's RISC-V and Cortex-M microcontrollers

Notifications You must be signed in to change notification settings

ch32-rs/ch32-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ch32-rs - WCH's CH32 Peripheral Access Crates

crates.io crates.io crates.io crates.io crates.io crates.io

crates.io crates.io crates.io crates.io crates.io crates.io


Embedded Rust device crates for WCH's RISC-V and Cortex-M(planned) microcontrollers.

Note This project is not affiliated with WCH. This is a hobby project.

Alternatives to PAC crates

The ch32-rs team also working on a unified "metapac" solution for all WCH's MCUs, using metadata to generate an "all-in-one" PAC crate. It's still in early stage, but you can check it out at ch32-rs/ch32-data and ch32-rs/ch32-metapac.

HAL crates

  • ch58x-hal - embassy, gpio, spi, i2c, ble
  • ch32x0-hal - embassy, gpio
  • ch59x-hal - early stage, ch58x-hal can be used with very minor changes
  • ch57x-hal - planning, ch58x-hal can be used with very minor changes
  • ch32v00x-hal - early stage, requires nightly rust for RV32EC support
  • ch32-hal - wip unified hal for all WCH's MCUs

Runtime Support

Roadmap

Development

# Do not use rust version of svdtools
pip install svdtools

# install xmlint

cargo install svd2rust

./scripts/generate.sh && ./scripts/update.sh

MCU list

NOTE: Will never support 8-bit MCUs.

RISC-V

Nick name: "赤菟"(Chitu). IP Core brand: 青稞(Qingke). V2A, V3A, V4A, V4B, V4C, V4F.

  • CH32V003: Qingke-V2A
  • CH32V103: Qingke-V3A
  • CH32V203: Qingke-V4B
  • CH32V208: Qingke-V4C, BLE
  • CH32V30x: Qingke-V4F
  • CH32L103 Qingke-V4C, Low power
  • CH32X03x: Qingke-V4C, USB PD, PIOC
  • CH56x: Qingke-V3A, USB 3.0 SS
  • CH571, CH573: Qingke-V3A, BLE 4.2
  • CH58x: Qingke-V4A, BLE 5.3
  • CH59x: Qingke-V4C, BLE 5.4
  • CH641: Qingke-V2A, USB PD
  • CH643: Qingke-V4C RGB/LED/PWM, PIOC, USB PD
  • CH645: Qingke-V4C, USB PD + USB HS

Cortex-M

CH32F uses Cortex-M3. CH577/CH578/CH579 uses Cortex-M0.

  • CH32F103
  • CH32F203
  • CH32F205
  • CH32F207
  • CH32F208, BLE 5.3
  • CH577/CH578/CH579, BLE 4.2

Toolchain

Ref

About

Embedded Rust device crates for WCH's RISC-V and Cortex-M microcontrollers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published