WCH LinkW

Overview

The WCH [1] LinkW hardware provides support for QingKe 32-bit RISC-V4C processor and the following devices:

  • CLOCK

  • GPIO

  • NVIC

The board is equipped with two LEDs and two Buttons. The WCH webpage on CH32V208 [2] contains the processor’s manuals. The WCH webpage on LinkW [3] contains the LinkW’s schematic.

Hardware

The QingKe 32-bit RISC-V4C processor of the WCH LinkW is clocked by an external 32 MHz crystal or the internal 8 MHz oscillator and runs up to 144 MHz. The CH32V208 SoC Features 4 USART, 4 GPIO ports, 2 SPI, 2 I2C, ADC, RTC, CAN, 2 USB Device, USB Host, OPA, ETH with PHY, several timers, and BLE 5.3.

Supported Features

The linkw board target supports the following hardware features:

Interface

Controller

Driver/Component

CLOCK

on-chip

clock_control

GPIO

on-chip

gpio

PINCTRL

on-chip

pinctrl

TIMER

on-chip

timer

UART

on-chip

uart

Other hardware features have not been enabled yet for this board.

Connections and IOs

LED

  • LED0 = Green Mode LED

  • LED1 = Blue Activity LED

Button

  • SW0 = Mode Select Button (Active Low)

  • SW1 = Bootstrap Button (Active High)

Programming and Debugging

Applications for the linkw 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 is required since the board does not have any built-in debug support.

The following pins of the external programmer must be connected to the following pins on the PCB:

  • VCC = VCC

  • GND = GND

  • SWIO = PA13

  • SWCLK = PA14

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 Blinky application.

# From the root of the zephyr repository
west build -b linkw samples/basic/blinky
west flash

Debugging

This board can be debugged via OpenOCD or minichlink.

Testing the LED on the WCH linkw

There is 1 sample program that allow you to test that the LED on the board is working properly with Zephyr:

samples/basic/blinky

You can build and flash the examples to make sure Zephyr is running correctly on your board. The button and LED definitions can be found in boards/wch/linkw/linkw.dts.

References