RP2040/RP2350のArduino開発でデバッグプローブを使おう

Raspberry Pi/電子工作
スポンサーリンク

RP2040ボード(例:Raspberry Pi Pico)をRaspberry Pi Debug Probe(デバッグプローブ)を使って、Arduino IDE 2系(※2.x.x)でデバッグするためのセットアップ方法と簡単なデバッガーの使い方を紹介します。

本記事はArduino IDE 2系 Raspberry Pi Pico/RP2040ボード(Arduino-Pico)を対象にしています。

参考URL:

Just a moment...

デバッグプローブとRaspberry Pi Pico(RP2040ボード)

スポンサーリンク

配線について

デバッグプローブ(D(デバッグ)コネクタ CMSIS-DAP)とRP2040ボードはSWD(Serial Wire Debug)で接続します。

Raspberry Pi Picoの例

Raspberry Pi Picoをデバッグ対象とする場合の配線

コネクタ – メスソケットで配線しています

Raspberry Pi Pico Hの例

Raspberry Pi Pico HはSWDがコネクタなので接続しやすくデバッグに向いていますね。

コネクタ – コネクタケーブルで接続

Raspberry Pi Pico WHの例

Raspberry Pi Pico H同様SWDがコネクタなのでコネクタ-コネクタケーブルで接続します。

Raspberry Pi Pico Wの例

SWDにピンをつけずにスルーホール用テストワイヤー(TP-200)で配線してみました。
SWDにピンをつけると邪魔くさくなることもあるかと思いますので、代替案として参考にしてみてください。

TP-200(秋月電子)

テストワイヤーにオレンジがなかったので代わりに白ワイヤーを使っています。

Seeed Studio XIAO RP2040/RP2350の例

拡張ボードを使うとSWDでデバッグできます。

配線は画像を参考にしてください。XIAO RP2350についても同様に配線します。

コネクタ – メスソケットで配線しています

スケッチ書き込みについて

デバッグ対象のRP2040ボード(例: Raspberry Pi Pico)にはデバッグプローブを通じてスケッチを書き込みます。

Macの場合

Macの場合、Raspberry Pi Pico/RP2040ボード(Arduino-Picoバージョン3.7.0以降をご使用ください。
これより前のバージョンではデバッガーが使えないのでご注意ください。

ボードはデバッグ対象のボードを選択します。例えばRaspberry Pi Pico 2がデバッグ対象のボードならRaspberry Pi Pico 2を選択します。

ポートはデバッグプローブの接続ポートを選択します。

ポート名

Windows: COM*
Mac: /dev/cu.usbmodem*
*(アスタリスク)は任意の文字列

書き込み先のRP2040ボードも給電のためUSBに接続しておきます。
※USBでの通信はしません。

デバッグプローブのポートが判断できない場合、先にデバッグプローブだけをUSBに接続するとポート名が分かります。

デバッグプローブのポートをArduino IDEのポートとして選択し、その後にデバッグ対象のボードをUSBに接続するとポート選択の混乱が避けられます。

Upload Methodは「Picoprobe/Debugprobe (CMSIS-DAP)」を選択します。

Arduino IDEで書き込みを行います。(書き込みボタンをクリックするか、ショートカットキーCtrl + U、MacはCmd + U)

書き込みボタン
出力例

書き込みに成功すると「出力」タブに赤字のように表示されます。

デバッグについて

デバッグ用コードの埋め込み (オプション)

デバッグが正常に開始しない場合はsetup関数の直後にdelayを挟むよう次のようなデバッグコードを入れるとよいかと思います。

#define __DEBUG__

void setup() {
#ifdef __DEBUG__
  delay(500);
#endif

この例ではdelayの時間(setup開始までのインターバル)を500msとしています。
500msでデバッグが正常に開始しない場合は1000msにするなど長めに設定してみてください。

デバッグコードを無効にするには#define __DEBUG__をコメントアウトします。

// #define __DEBUG__

void setup() {
#ifdef __DEBUG__
  delay(500);
#endif

デバッグの開始

「デバッグの開始」アイコン(画像の赤枠参照)をクリックします。

デバッガーの操作

デバッグ中は最下エリアが画像のようにオレンジになります。

行番号の左をクリックするとブレークポイントを設定できます。

デバッガーは画像赤枠のアイコン群で操作できます。
アイコンは左から次のような機能があります。

継続次のブレークポイントまでスケッチを実行する
ブレークポイントが設定されていない場合は停止/再開
ステップオーバー選択された命令だけ実行しプログラムを停止する
ステップイン命令が関数を呼び出している場合、関数内部の命令をワンステップごとに実行する
ステップアウト呼び出し元の命令まで実行する
再起動リセットしてスケッチの最初から実行する
停止デバッグを停止する

デバッグの動きが悪い場合

エラーが発生してデバッグが開始されないなどデバッグがうまく動かない場合、デバッグプローブとデバッグ対象のボードの電源を再投入してデバッグを開始してみてください。
それでもうまく動かない場合はArduino IDEも再起動してデバッグを開始してみてください。

関連記事

当ブログのマイコン記事です。ぜひご覧ください。

この記事を書いた人
あろっち

元ITエンジニアです。

当ブログでは、興味があること、役に立ちそうなこと、気になったことを発信していきます。

記事についてのコメントや質問があれば、ぜひお寄せください。
また、ご依頼等は「お問い合わせ」よりお気軽にご連絡ください。

あろっちをフォローする
Raspberry Pi/電子工作ITWindowsMac
あろっちをフォローする

コメント

タイトルとURLをコピーしました