環境
SW
- Windows 11
- MounRiver v1.90
- WCH-Link v1.80
HW
- WCH-Link E
CH32V203G6U6について
CH32V20xはCH32シリーズの中でも高性能な部類のマイコンであり、秋月で取り扱いのあるCH32V203K8T6(120円)が特に人気だと思います。
CH32V203G6U6(以下G6)はLCSCにて2023年9月現在唯一取り扱いのあるQFN28サイズのWCHマイコンであり、上記と多くの機能が共通ながら、フットプリントは4mm*4mmと極めて小さいのが特徴です。
私はQFNサイズのマイコンを選びたかったため、選定しました。
ただし、K8T6とはいくつかの性能が異なります。
CH32V203DS0.PDF - NanjingQinhengMicroelectronics
Flash、SRAMのサイズがそれぞれ半減しているほか、ピン数がことなるために一部I/Oも減少しています。
これらに伴い、WCHが公開しているK8T6向けのサンプルプログラムでは動かないため、注意が必要です。
サンプルプログラムの改変
プロジェクトフォルダ内のLd / Link.ldを開きます
Link.ldの一部を切り取ったものが以下です。
MEMORY { /* CH32V20x_D6 - CH32V203F6-CH32V203G6-CH32V203K6-CH32V203C6 */ /* FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 32K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 10K */ /* CH32V20x_D6 - CH32V203K8-CH32V203C8-CH32V203G8-CH32V203F8 */ /**/ FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 64K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K /* CH32V20x_D8 - CH32V203RB CH32V20x_D8W - CH32V208x FLASH + RAM supports the following configuration FLASH-128K + RAM-64K FLASH-144K + RAM-48K FLASH-160K + RAM-32K FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 160K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K */ }
MounRiverの画面だと色分けされず分かりにくいのですが、G6用のコードがコメントアウトされていることが分かります。 K8向けのコードをコメントアウトし、逆にG6向けのコードを復活させます。
MEMORY { /* CH32V20x_D6 - CH32V203F6-CH32V203G6-CH32V203K6-CH32V203C6 */ FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 32K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 10K /* CH32V20x_D6 - CH32V203K8-CH32V203C8-CH32V203G8-CH32V203F8 */ /* FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 64K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K */ /* CH32V20x_D8 - CH32V203RB CH32V20x_D8W - CH32V208x FLASH + RAM supports the following configuration FLASH-128K + RAM-64K FLASH-144K + RAM-48K FLASH-160K + RAM-32K FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 160K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K */ }
その後"Rebuild"を行います。私の場合、通常のBuildでは反映されませんでした。
後は以下記事同様に(必要であればConfigulationの設定などをし)ダウンロードすればOKです。