タラバガニー設計局stalins.clubNOTE/notes/ch32-ch32fun-minichlink

ch32funとminichlinkはCH32V003を専用IDEなしで扱う最小スタックを作った

CH32を理解するためのノート群 と CH32の開発環境はMounRiverだけではなくGCC・ch32fun・Zephyr・Rustまで広がっている の補足。

事実

ch32funはCH32V003を中心にした軽量なオープンソース開発環境で、GCC、最小限のruntime、ヘッダ、example、書き込みツールをまとめて提供する。

プロジェクトは「厚いHALを避け、TRMに近い使い方をする」ことを明示している。

現在はV003だけでなく、V002/V004/V005/V006/V007、V103、V203、V208、V303/V305/V307、X035なども扱う。

同梱されるminichlinkはWCH-LinkEだけでなく、

  • CH32V003ベースのSWIO programmer
  • ESP32-S2ベースprogrammer
  • STM32F042ベースprogrammer
  • Arduino系interface
  • USB ISP bootloader

など複数backendに対応する。

さらにGDB serverとsingle-wire printfも持つ。

考察

ch32funが面白いのは「WCH SDKの代替HAL」だからではない。

コンパイラ、最小runtime、flash tool、debug pathまで一式を軽量に揃え、CH32を普通のMakefileベース組込み開発へ戻した点が大きい。

V003のようにFlash/RAMが非常に小さいMCUでは、抽象化の厚さそのものがコストになる。ch32funの設計思想はチップの価格帯とよく噛み合っている。

minichlinkが複数programmerを抽象化していることも重要で、WCH-LinkEを必須にせず、実験用・量産治具用に別backendへ差し替えられる。

向くケース

  • V003/V00xを小さいCコードで扱いたい
  • CIでMounRiverを使いたくない
  • Makefile/CLI中心で開発したい
  • 独自書き込み器を使いたい
  • GDBやprintf-over-SWIOを使いたい

関連

出典

▸ ノート一覧に戻る