タラバガニー設計局stalins.clubNOTE/notes/ch32-wch-linke-swio

CH32V003のSWIOは1本の信号線で書き込みとデバッグを成立させる

CH32の書き込みとデバッグはSWIO・ISP・minichlink・probe-rsを分けて考える の物理debug interface側。

事実

CH32V003ではPD1を使う1-wireのSWIO/SDI系interfaceから書き込み・デバッグを行う。

WCH-LinkEはこのinterfaceに対応し、Flash programmingやdebug用途に使われる。

ch32fun/minichlinkもWCH-LinkEをbackendとして扱える。

V003コミュニティではさらに、別のV003をsoftware USB + SWIO programmerにするUSBを持たないCH32V003をUSBで書き込むrv003usb bootloader系の実装まで存在する。

考察

ピン数の少ないMCUでdebug interfaceが1本というのは実用上の価値がある。

TSSOP20やSOP8級では、2本3本の専用debug pinも無視できない。

一方、1-wire化はprotocolとtool側を特殊にする。

つまり、

  • 基板上のpinコストを減らす
  • vendor/OSS tool側の実装コストを増やす

という交換である。

V003が非常に安いにもかかわらず実用的な開発環境を持てたのは、minichlinkやprobe-rsなどがこの特殊部分を吸収してきたからでもある。

設計上の示唆

製品基板ではSWIO padとGNDだけでもtest pointとして残しておく価値が高い。

USB bootloaderを採用する場合でも、初回provisioningやbrick recovery用にSWIO経路を完全には消さない方が安全である。

出典

▸ ノート一覧に戻る