「50円マイコン ch32v003 を使った簡単キット(AKBONE2024)を組み立てる」
https://qiita.com/nanbuwks/items/22680849ee7674d66a89
のように、WCH 社の RISC-V マイコンを最近使っているのですが、ファームウェアを書き込む公式ハードウェアとして WCH-LinkE が用意されています。
CH32V003 を Ubuntu で書き込みするには、WCH-LinkE が必要です。
なお WCH 社の公式ツールはいくつかあり、E なしの WCH-Link というのもあります。WCH-Link は AKBONE2024 に使用している CH32V003 には書き込めないので注意。
さて、購入してきた WCH-LinkE を PC に繋げると赤と青のLEDが点灯します。
WCH-LinkE は内部でモードを持っていて、書き込むマイコンのアーキテクチャによって ARM モード、 RISC-V モードを使い分ける必要があります。
LEDが青と赤が光っているのが初期モードである ARM モード。
今回の目的の RISC-V マイコンに書き込むためには RISC-V モードに設定変更する必要があります。方法はいくつかるようですが、PCから設定変更するのが良さそうです。
Ubuntu Linux で?
公式には Linux 系はサポートされていませんが、Hack すればできそうです。しかしながら WCH-LinkE は使用前に内部ファームウェアの更新などをしないと調子が悪そう。
ファームの書き換えを考えると公式ツールを使うのが無難と判断し、初期設定は WindowsPC で行うことにしました。
WCH-LinkUtility を Windows で使う
公式ツールである WCH-LinkUtility を使っていきます。
https://www.wch.cn/downloads/wch-linkutility_zip.html
こちらから、WCH-LinkUtility.ZIP をダウンロードして展開、実行します。
実行すると以下の画面が表示されます。USBのデバイスドライバかな? 「INSTALL」を押します。
WCH-LinkE を刺してから、Core: を ARM に操作すると、
Connected WCH-Link List に DAP Link が現れて認識できていることがわかります。
ファームウェアのアップデート
「Target」-「Connect WCH-Link」を選ぶと、
ファームウェアの update が促されるのでYで進めます。
しばらくすると update が成功。
Windows の通知にメッセージが出てきました。
RISC-V モードに変更
ここから、Active WCH-Link Mode:を WCH-LinkRV にして「Set」を押します。
その後、 Core: を RISC-V にして、
Connected WCH-Link List: をRefresh すると RISC-V Link が出現しました。
設定完了
LED も 青が消灯し、RISC-V モードになったことがわかります。
この状態は内部で保持しているので、取り外して Linux マシンに接続しても RISC-V モードとして使うことができます。
これでようやく無事設定できました。