WCH CH32V307V-EVT-R1
Overview
The WCH [1] CH32V307V-EVT-R1 is an evaluation board for the RISC-V based CH32V307VCT6 SOC.
The board is equipped with a power LED, reset button, USB port for power, and two user LEDs. It also features Ethernet port and built-in programmer.
Hardware
The QingKe V4F 32-bit RISC-V processor of the WCH CH32V307V-EVT-R1 is clocked by an external crystal and runs at 144 MHz.
The WCH webpage on CH32V30x [2] contains the processor’s information and the datasheet. WCH CH32V307V-EVT-R1 board schematics can be found on CH32V307 openwch git repository [5].
Supported Features
The ch32v307v_evt_r1 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.
ch32v307v_evt_r1/ch32v307 target
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
WCH QingKe V4F RISC-V MCU1 |
|
Clock control |
on-chip |
WCH CH32V00x Reset and Clock Control (RCC)1 |
|
on-chip |
WCH CH32V00x HSE Clock1 |
||
on-chip |
WCH CH32V00x HSI Clock1 |
||
on-chip |
Generic fixed-rate clock provider1 |
||
on-chip |
WCH CH32V20x/30x PLL1 |
||
DMA |
on-chip |
WCH DMA controller2 |
|
GPIO & Headers |
on-chip |
WCH CH32V00x General-Purpose Input/Output (GPIO)5 |
|
I2C |
on-chip |
WCH I2C controller2 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
WCH CH32V00x Programmable Fast Interrupt Controller (PFIC)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
MTD |
on-chip |
Flash node1 |
|
Pin control |
on-chip |
WCH CH32V20x/30x AFIO1 |
|
Serial controller |
on-chip |
||
SPI |
on-chip |
WCH SPI3 |
|
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
WCH CH32V00x Systick1 |
Connections and IOs
LED
Board LEDs are not connected to SoC in layout. For blinky and threads sample
applications you have to use jumper wires to connect them to I/O pins. You also need
to change leds status to “okay” in boards/wch/ch32v307v_evt_r1/ch32v307v_evt_r1.dts.
J3 header |
J4 header |
|---|---|
LED1 |
PD0 |
LED2 |
PD1 |
Programming and Debugging
The ch32v307v_evt_r1 board supports the runners and associated west commands listed below.
| flash | debug | |
|---|---|---|
| minichlink | ✅ (default) |
Applications for the ch32v307v_evt_r1 board can be built and flashed
in the usual way (see Building an Application and Run an Application
for more details). The board includes WCH LinkE [4] programmer accessible on
USB-C port P9.
Flashing
You can use minichlink [3] 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 Blinky application.
# From the root of the zephyr repository
west build -b ch32v307v-evt-r1 samples/basic/blinky
west flash
Or you can use Basic thread manipulation sample to test both LEDs.
# From the root of the zephyr repository
west build -b ch32v307v-evt-r1 samples/basic/threads
west flash
Debugging
This board can be debugged via minichlink.