以前の記事「CH32V203 ボード BluePill+ を試す(途中)」
https://qiita.com/nanbuwks/items/90863c599e90fe8d877c
において、 MounRiver Studio をセットアップしました。その時は 1.9を利用しサンプルプログラムをビルドしたところで断念してしまいました。その後 MounRiver はバージョン2.4となり、どうなっているのかな? 改めて試してみました。
環境
- Ubuntu 24.04 LTS
- WeAct Studio CH32V203C8T6 BluePill+
MounRiver Studio IDE のセットアップ
2026年6月4日現在、公式ページは接続できたりできなかったり。
だましだまし https://mounriver.com/download にアクセス。
ダウンロード
今回は .deb (x64) 形式をダウンロードしました。
インストール
$ sudo dpkg -i MounRiverStudio_Linux_X64_V240.deb
3.5Gぐらいストレージを使うので注意。
ツールチェイン
今回は使いませんでしたが、念の為セットアップしておきます。同ページから MRS_Toolchain_Linux_X64_V240.tar.xz をダウンロードし、解凍します。 解凍後のサイズは 2.7G でした。 こんな構成でした。
$ du --max-depth=3 -h MRS_Toolchain_Linux_X64_V240
20K MRS_Toolchain_Linux_X64_V240/Toolchain/arm-none-eabi-gcc/include
39M MRS_Toolchain_Linux_X64_V240/Toolchain/arm-none-eabi-gcc/bin
326M MRS_Toolchain_Linux_X64_V240/Toolchain/arm-none-eabi-gcc/arm-none-eabi
15M MRS_Toolchain_Linux_X64_V240/Toolchain/arm-none-eabi-gcc/share
114M MRS_Toolchain_Linux_X64_V240/Toolchain/arm-none-eabi-gcc/lib
493M MRS_Toolchain_Linux_X64_V240/Toolchain/arm-none-eabi-gcc
20K MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC/include
61M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC/libexec
33M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC/bin
29M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC/share
1.7M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC/distro-info
34M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC/lib
306M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC/riscv-none-embed
2.1M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC/lib64
464M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC
20K MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC12/include
112M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC12/libexec
64M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC12/bin
17M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC12/share
4.4M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC12/distro-info
110M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC12/lib
644M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC12/riscv-wch-elf
128K MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC12/lib64
950M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC12
52K MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC15/include
191M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC15/libexec
112M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC15/bin
19M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC15/share
340M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC15/riscv32-wch-elf
129M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC15/lib
788M MRS_Toolchain_Linux_X64_V240/Toolchain/RISC-V Embedded GCC15
2.7G MRS_Toolchain_Linux_X64_V240/Toolchain
5.1M MRS_Toolchain_Linux_X64_V240/OpenOCD/OpenOCD/bin
4.4M MRS_Toolchain_Linux_X64_V240/OpenOCD/OpenOCD/share
9.5M MRS_Toolchain_Linux_X64_V240/OpenOCD/OpenOCD
9.5M MRS_Toolchain_Linux_X64_V240/OpenOCD
2.7G MRS_Toolchain_Linux_X64_V240
起動
起動直後の画面

V1.9とだいぶ印象が違いますね。Ecripse ベースから VSCode ベースに変わったそうです。
MS-Windows版との比較
MS-Windows ではこのような画面が出てきましたが、Linux版では出てきませんでした。先のMRS_Toolchain_Linux_X64_V240.tar.xz に OpenOCD が被ってますがそれ以外は違うようですね。
サンプルプログラムとビルド
サンプルプログラムとして、 WeActStudio で公開されているレポジトリを用いることにします。
$ git clone https://github.com/WeActStudio/WeActStudio.BluePill-Plus-CH32.git
としたあと、MounRiver から WeActStudio.BluePill-Plus-CH32/Examples/CH32V203/02-flash_test/02-flash_test.wvproj を「File」-「Open Project」で開きます。

User/main.c を開くとこのように Blink ぽいソースが確認できます。
「Project」-「Build Project」すると、無事 elf ができたようです。

書き込みはNG
Project-Propaties を開き、Download Settings を開きます。
BluePill+ を Boot0 モードにして接続しておきます。
しかしながら Linked MCU Type: の Query ボタンを押してみたけれどもここで進まなくなります。
調査
Windows用をインストールして同様に動かしてみました。
どうやら WCH-Linkを取り付けるのが必要なようです。CH32V203 の USB接続で書き込みをしようと思っていたのですが、 MounRiver はそれを想定していないのかな?
WCHISP
書き込みは CH32V203 の USB インターフェースから行うために、 書込プログラム WCHISP を別に用意することにしました。
2026/06/08 追記: WCHISPのインストールは別記事に分離しました。
「WCHISP を Ubuntu にインストール」
https://qiita.com/nanbuwks/items/b55e12d2ceaac5fffd4c
サンプルプログラムの実行
書き込みます。
$ wchisp flash 02-flash_test.elf
08:31:17 [INFO] Opening USB device #0
08:31:17 [INFO] Chip: CH32V203C8T6[0x3119] (Code Flash: 64KiB)
08:31:17 [INFO] Chip UID: CD-AB-B2-61-0E-BC-8D-C9
08:31:17 [INFO] BTVER(bootloader ver): 02.70
08:31:17 [INFO] Code Flash protected: false
08:31:17 [INFO] Current config registers: a55aff0000ff00ffffffffff00020700cdabb2610ebc8dc9
RDPR_USER: 0x00FF5AA5
[7:0] RDPR 0xA5 (0b10100101)
`- Unprotected
[16:16] IWDG_SW 0x1 (0b1)
`- IWDG enabled by the software, and disabled by hardware
[17:17] STOP_RST 0x1 (0b1)
`- Disable
[18:18] STANDBY_RST 0x1 (0b1)
`- Disable, entering standby-mode without RST
[23:22] SRAM_CODE_MODE 0x3 (0b11)
`- CODE-228KB + RAM-32KB / CODE-160KB + RAM-32KB depending on the chip
DATA: 0xFF00FF00
[7:0] DATA0 0x0 (0b0)
[23:16] DATA1 0x0 (0b0)
WRP: 0xFFFFFFFF
`- Unprotected
08:31:17 [INFO] Read 02-flash_test.elf as ELF format
08:31:17 [INFO] Found loadable segment, physical address: 0x00000000, virtual address: 0x00000000, flags: 0x5
08:31:17 [INFO] Section names: [".init", ".vector", ".text"]
08:31:17 [INFO] Found loadable segment, physical address: 0x0000231c, virtual address: 0x20000000, flags: 0x6
08:31:17 [INFO] Section names: [".data"]
08:31:17 [INFO] Firmware size: 9216
08:31:17 [INFO] Erasing...
08:31:17 [INFO] Erased 10 code flash sectors
08:31:18 [INFO] Erase done
08:31:18 [INFO] Writing to code flash...
██████████████████████████████████████████████████████████████████████ 9216/921608:31:18 [INFO] Code flash 9216 bytes written
08:31:18 [INFO] Verifying...
██████████████████████████████████████████████████████████████████████ 9216/921608:31:19 [INFO] Verify OK
08:31:19 [INFO] Now reset device and skip any communication errors
08:31:19 [INFO] Device reset
このあと、リセットします。動作開始まで15秒ほど待つとLEDが点滅しました。






