verylowfreqのアイコン画像
verylowfreq 2025年01月06日作成
セットアップや使用方法 セットアップや使用方法 閲覧数 174
verylowfreq 2025年01月06日作成 セットアップや使用方法 セットアップや使用方法 閲覧数 174

WCH CH32VをArduino IDEでデバッグする

WCH CH32VをArduino IDEでデバッグする

RISC-Vマイコン WCH CH32V203 をArduino IDEでデバッグする方法を紹介します。本記事では CH32Vマイコンボード Suzuno32RV を利用します。

WCH CH32Vシリーズは、CPUに32bit RISC-V、ペリフェラルはSTM32という組み合わせの、安価でパワフルなマイコンチップです。CH32V003, CH32V203, CH32V305 などは日本国内でも秋月電子で購入できます。

https://www.wch-ic.com/products/CH32V203.html

“Suzuno32RV”は、RISC-VマイコンWCH CH32Vシリーズの CH32V203C8T6 を搭載した、Arduino UNO形状のマイコンボードです。わたしが開発し、BitTradeOneより発売されています。

CH32VにはWCH自身によりopenocdが移植されていて、これをArduino IDEから呼び出すことでGUIからブレイクポイントを設定したり変数の値を確認したりできます。

(本記事は2025年1月時点の情報です)

コアのインストール

Suzuno32RV向けに整備しているArduinoコア(わたしの独自フォーク)をインストールしてください。本記事執筆時点では “1.0.4+sz8” が最新です。
以下のURLを「基本設定」→「追加のボードマネージャのURL」へ追加してください。

https://raw.githubusercontent.com/verylowfreq/board_manager_ch32/main/package_ch32v_index_sz.json

なお本家では、最新のコードにはこのデバッガー対応が含まれていますが、正式リリース(openwchでリリースしているv1.0.4)には含まれていないようです。

WCH LinkEケーブルでボードと接続する

デバッグ機能には公式デバッガーWCH LinkEでの接続が必須です。(Suzuno32RVボードからType-Cコネクタ経由でのUSB接続ではできません)
Suzuno32RVではWCH LinkEが接続できるピンヘッダーのパターンを用意していますので、ここにL字の10ピンのものをはんだづけしてください。
(※シールド基板によってはピンヘッダーが物理的に干渉するかもしれないのでご注意を!)

わたしは10ピンのリボンケーブルでWCH LinkEとつないでいます。(差し込み方向に気をつけてくださいね)

Arduino IDEでビルドオプションを変更する

1つだけビルドオプションを変更してください。ツールから、
Debug symbols and core logs” を “Symbols Enabled (-g)
に変更してください。
これでデバッグシンボルが埋め込まれたファームウェアがビルドされるようになります。これを忘れるとブレイクポイントが設定できません。

ビルド & アップロード

普段通りアップロードします。ファームウェアのアップロード方法はWCH-SWD(LinkE)でもWCH-ISP(USB書き込み)でもどちらでも問題ありません。

デバッグの開始

デバッグシンボルを有効にしたファームウェアをアップロードしたら、「アップロード」ボタンの右にある「デバッグを開始」を押すと、デバッガーが起動し、デバッグできるようになります。

デバッグでは、処理を一時停止したい行に「ブレイクポイント」を設定できます。行番号の左をクリックすると、丸いマークを打つことができます。(再度クリックで設定解除)

デバッグ中は、ブレイクポイントの設定された行に到達すると処理が一時停止します。「続行 (C)」を押すと処理が再開され、次のブレイクポイントまで進みます。

verylowfreqのアイコン画像
"verylowfreq" あるいは 「三峰スズ」(VTuber 2023年2月より) です。趣味で電子工作や3Dプリンターを楽しんでいます!
ログインしてコメントを投稿する