RISC-V

WCH – CH32V003F4P6, CH32V203C8T6 und WCH-LinkE

Beschaffung

In dieser Woche ist das im offiziellen Shop von WCH bei Aliexpress (Nanjing Qinheng Microelectronics Co., Ltd – WCH ist deren Marke und bedeutet „WinChipHead“) bestellte CH32V003/203-LinkE Kit eingetroffen. Bezahlt habe ich mit Paypal, abgebucht wurden 19,86 €.
Die Lieferung erfolgte sehr schnell. Alles ist gut und antistatisch verpackt.
Es ist ein WCH-LinkE enthalten, je eine Testplatine (EVT) mit einem CH32V003 bzw. einem CH32V203 sowie fünf Stück vom CH32V003F4P6 und fünf Stück vom CH32V203C8T6.

Software

Die als Entwicklungsplattform empfohlene Mounriver-IDE ist gut überschaubar, erst recht, wenn man bereits Erfahrungen mit etwas größeren IDEs z.B. auf Eclipsebasis hat. Die Installation verlief problemlos. Die IDE selbst ist komplett in Englisch benutzbar. Für beide EVT-Platinen sind z.T. umfangreiche Software-Beispiele zum Download verfügbar: CH32V003-EVT und CH32V203-EVT.

Informationsquellen

Sowohl für den LinkE als auch für die Controller (datasheet, reference manual) sind englischsprachige PDF verfügbar. Für die beiden EVT-Platinen sind ebenfalls Schaltpläne verfügbar.
Es gibt auf der Webseite von WCH sogar Videos zur Schulung, leider in Chinesisch.

praktische Erfahrungen

Der WCH-LinkE ist mit einem Klarsichtgehäuse gekapselt. Leider ist er dadurch zu breit für nebeneinander liegende Notebook-USB-Slots.

Die EVT-Platinen sind saubere Elektronikentwicklung, gut strukturiert und das unbedingt nötige Equipment ist auf der Platine. (Ein-Aus-Schalter und E/A-LED, Reset, USB-C-Buchse als Stromversorgung, zwei an VDD angeschlossene LED mit Vorwiderständen und Pinheadern; alle Anschlüsse des µCs sind ebenfalls auf Pinheader gelegt)
Die einzige kleine Hürde beim Start war zunächst, welche Pins des Entwicklungsboards man denn mit dem WCH-Link verbinden muss, um den Chip zu flashen und die Programme dann debuggen zu können. Nur mit SWIO und VCC/GND funktionierte es zunächst nicht. Erst mit RST und RX, TX dazu ging es dann.


Nachdem das erledigt war, lief das selbst compilierte und geflashte Beispielprogramm (GPIO_Toggle) sauber durch. Die LED blinkt jetzt auf einem 48 MHz 32-Bit Risc-V Controller. 🙂 Hinweis: Die Controller auf den Boards enthielten im Auslieferungszustand kein erkennbares Demo-Programm.

Debugging * auf der Hardware! * mit dem integrierten Open-OCD – übrigens vollständig transparent für den Nutzer, d.h., ohne Kenntnisse von Open-OCD nutzbar – war ganz problemlos möglich.

Kleiner Hinweis am Rande: Der CH32V003F4P6 passt übrigens nahezu perfekt als Ersatz für den STM8Sx03F3P6, wenn man das Pinout betrachtet.