WCH CH32V303VCT6_EVT

Overview

The WCH [1] CH32V303VCT6-EVT hardware provides support for QingKe V4F 32-bit RISC-V processor.

The WCH webpage on CH32V303 [2] contains the processor’s information and the datasheet.

Hardware

The QingKe V4F 32-bit RISC-V processor of the WCH CH32V303VCT6-EVT is clocked by an external 32 MHz crystal or the internal 8 MHz oscillator and runs up to 144 MHz. The CH32V303 SoC features 8 USART, 4 GPIO ports, 3 SPI, 2 I2C, 2 ADC, RTC, CAN, USB Host/Device, and 4 OPA.

Supported Features

The ch32v303vct6_evt board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
ch32v303vct6_evt
/
ch32v303

Type

Location

Description

Compatible

CPU

on-chip

WCH QingKe V4F RISC-V MCU1

wch,qingke-v4f

Clock control

on-chip

WCH CH32V00x Reset and Clock Control (RCC)1

wch,rcc

on-chip

WCH CH32V00x HSE Clock1

wch,ch32v00x-hse-clock

on-chip

WCH CH32V00x HSI Clock1

wch,ch32v00x-hsi-clock

on-chip

Generic fixed-rate clock provider1

fixed-clock

on-chip

WCH CH32V20x/30x PLL1

wch,ch32v20x_30x-pll-clock

DMA

on-chip

WCH DMA controller2

wch,wch-dma

GPIO & Headers

on-chip

WCH CH32V00x General-Purpose Input/Output (GPIO)5

wch,gpio

Interrupt controller

on-chip

WCH CH32V00x Programmable Fast Interrupt Controller (PFIC)1

wch,pfic

MTD

on-chip

Flash node1

soc-nv-flash

Pin control

on-chip

WCH CH32V20x/30x AFIO1

wch,20x_30x-afio

Serial controller

on-chip

WCH CH32V00x UART1 7

wch,usart

SRAM

on-chip

Generic on-chip SRAM1

mmio-sram

Timer

on-chip

WCH CH32V00x Systick1

wch,systick

Programming and Debugging

Applications for the ch32v303vct6_evt board target can be built and flashed in the usual way (see Building an Application and Run an Application for more details); however, an external programmer (like the WCH LinkE [3]) is required since the board does not have any built-in debug support.

Flashing

You can use minichlink to flash the board. Once minichlink has been set up, build and flash applications as usual (see Building an Application and Run an Application for more details).

Here is an example for the Hello World application.

# From the root of the zephyr repository
west build -b ch32v303vct6_evt samples/hello_world
west flash

Debugging

This board can be debugged via OpenOCD using the WCH openOCD liberated fork, available at https://github.com/jnk0le/openocd-wch.

References