CH32V003
WCHのRISC-Vマイコン
CH32V003J4M6
https://ja.aliexpress.com/item/1005005143221495.html
10個で370円 + 送料
https://akizukidenshi.com/catalog/g/gI-18062/
1個40円
ROM 16k
RAM 2K
動作電圧 2.7V-5.5V
GPIO 6
CH32V003A4M6
GPIO 14
CH32V003F4U6
GPIO 18
CH32V003F4P6
GPIO 18
https://akizukidenshi.com/catalog/g/gI-18061/
1個50円
記事
安いという噂
10 cents CH32V003 RISC-V MCU offers 2KB SRAM, 16KB flash in SOP8 to QFN20 packages - CNX Software
開発環境は色々整備中
公式にはMounRiver Studio IDEで開発する
Openwchという公式(?)のリポジトリで、は上記IDE以外でも開発するための仕組みが整備されている
GitHub - openwch/ch32v003: CH32V003 is an ultra-cheap RISC-V MCU with 2KB SRAM, 16KB flash, and up to 18 GPIOs that sells for under $0.10
https://scrapbox.io/files/640681a4660907001cb097c0.png
公式の用意したオープン系のSDK
公式の整備したArduino環境が出てきた
@patrick_riscv: The basic version of CH32duino is available now!
https://t.co/vNk7CzYRag
https://t.co/OyMRmRppnc
https://t.co/PeERyPBl2S
https://t.co/iK64sAQpbm
https://pbs.twimg.com/media/FsnMca5aQAUKpk2.png
CH32V003,CH32V203のためのArduino環境が利用できるようになったらしいinajob.icon
https://github.com/openwch/arduino_core_ch32
https://github.com/openwch/risc-none-embed-gcc
https://github.com/openwch/openocd_wch
https://github.com/openwch/board_manager_files
書き込みツールはWCH-SWDのみサポートしている(1.0.3)
サードパーティの開発環境
GitHub - usini/ch32v003_Arduino: Really basic attempt to replicate Arduino functions inside MounRiver
MounRiver Studio IDE上でArduino風の関数を使えるようにする試み
GitHub - AlexanderMandera/arduino-wch32v003: Arduino Core for CH32V303 RISC-V microcontroller
Arduino IDEで利用できるArduino風環境
いつものjsonを使う方法ではなさそう
RISC-V用のGCCは別途インストールが必要そう
開発状況がいまいち
GitHub - cnlohr/ch32v003fun: My tests for the CH32V003, a 10 cent 48 MHz RISC-V Microcontroller
from 今話題のCH32V003の開発をオープンソースツールチェーンで行う方法
公式SDKのHALを使わず独自のライブラリを使う方法
ch32v003funでCH32V003を便利に開発している話 - @74thの制作ログ
貴重な日本語情報
ch32v003fun
GitHub - cjacker/opensource-toolchain-ch32v: Opensource toolchain for WCH ch32v RISC-V 32bit MCU
CH32V003 のファームウェアのビルド環境を整える - @74thの制作ログ
@74thさんの記事
このリポジトリを使ったセットアップについて紹介されている
GitHub - Community-PIO-CH32V/platform-ch32v: PlatformIO platform for CH32V RISC-V chips (CH32V003, CH32V103, CH32V20x, CH32V30x)
PlatformIOでも使えそう
Rustでの動作例(UIAPduino使用)
https://owo.codes/noxim/uiapduino-rust
書き込み
初回は専用の書込み装置 WCH-Link が必要
"003"の場合、配線は電源・GND・SWDIOの3ピンだけでオッケー(1-wire SDI)
UARTでの書き込み
@patrick_riscv: If you want to use bootloader to program the CH32V003 via the UART, here is the method for you.
https://t.co/Hai6ZQ4i7u
https://github.com/openwch/ch32v003/blob/main/CH32V003_IAP_Use_Introduction.pdf
このPDFに従えばUARTで書き込みできるようになる?
CH32V003で、UARTで書き込みできるブートローダを書き込んで利用する - @74thの制作ログ
GitHub - 74th/ch32v003-uart-programmer
サイズ(blink)
WCH公式Arduino(1.0.3)
code: blink-wch-arduino.log
Sketch uses 10372 bytes (63%) of program storage space. Maximum is 16384 bytes.
Global variables use 512 bytes (25%) of dynamic memory, leaving 1536 bytes for local variables. Maximum is 2048 bytes.
ch32v003fun
code: blink-ch32v003fun.log
RAM: 0.0% (used 0 bytes from 2048 bytes)
Flash: 3.7% (used 600 bytes from 16384 bytes)
Flashの消費量が全然違うように見える
TIPS
uchan.iconCH32V003 マイコンの PA1 や PA2 が使えないときに確認すること
CH32V003でBASICインタプリタを動かしてみる
ch32v003メモ
ArduinoのRISC-V CH32V003でPA1とPA2をGPIOとして使う設定にしてみた
CH32V003F4P6 EEPROM代わりに内部FLASHを使う