2025年11月22日土曜日

Seeeduino XIAO RP2040をdebugprobeにする(1)

 

Raspberry pi picoをdebugprobeにすることができるらしい。Seeeduino XIAO RP2040でもできるのでは?

Raspberry pi picoにソフトを書き込んだり、デバッグしたりするのにRaspberry Pi Debug Probe(https://www.raspberrypi.com/products/debug-probe/)なるものがある。こやつ、実はRaspberry pi picoとおなじRP2040でできているらしいんだわ。ってことはRaspberry pi picoはDebug Probeにすることができる。ってことはSeeeduino XIAO RP2040も何か工夫すれば(工夫しなくても)Debug Probeにできるのかもしれない。で、チャレンジしてみた。ちなみにRaspberry pi Debug Probeは2000えんくらいで買えるので頑張らずに買う方が正解な気もする。

ビルド方法はここ(https://github.com/raspberrypi/debugprobe)に書いてある通り
git clone https://github.com/raspberrypi/debugprobe.git
cd debugprobe
git submodule update --init --recursive
mkdir build
cd build
cmake -DDEBUG_ON_PICO=ON ..
まぁ、ここで、こんなエラーが出ます
  SDK location was not specified. Please set PICO_SDK_PATH or set
  PICO_SDK_FETCH_FROM_GIT to on to fetch from git.
Call Stack (most recent call first):
  CMakeLists.txt:3 (include)

-- Configuring incomplete, errors occurred!

ArduinoでSeeeduino XIAO RP2040ボード(Raspberry Pi Pico/RP2040/RP2350)をインストールしていればすでに入っているので、それを使うことにして、
export PICO_SDK_PATH=/home/hoge/.arduino15/packages/rp2040/hardware/rp2040/5.4.2/pico-sdk
ってして、ふたたび
cmake -DDEBUG_ON_PICO=ON ..
ってすると、armビルドツールが見つからないってエラーが出るので、これもSeeeduino XIAO RP2040ボード(Raspberry Pi Pico/RP2040/RP2350)をインストールしていれば入っているので、そこを参照するようにして、
export PATH=$PATH:/home/hoge/.arduino15/packages/rp2040/tools/pqt-gcc/4.1.0-1aec55e/bin
ってして、ふたたび
cmake -DDEBUG_ON_PICO=ON ..
ってすると、
PICOTOOL_FETCH_FROM_GIT_PATHをセットしろやって言ってくるけど、その後、
Downloading Picotool
ってなって勝手にダウンロードしてるっぽいので、よいのだろう
んで、
make
ってすると、最後にundefined referenceエラーでリンクが失敗する。んで、以前はRaspberry Pi Pico/RP2040/RP2350ではなくて、Seeeduino XIAO用のarmビルドツールを使ったことあることを思い出して、
echo $PATH
で、現在のPATHを確認して、Raspberry Pi Pico/RP2040/RP2350のarmツールへのPATHを削除して
export PATH=なんちゃら
で、
export PATH=$PATH:/home/hoge/.arduino15/packages/Seeeduino/tools/arm-none-eabi-gcc/7-2017q4/bin
ついでにpicotoolのwarningもでないようにしちゃう
export PICOTOOL_FETCH_FROM_GIT_PATH=/home/hoge/build_local/pipicoprobe/debugprobe/picotool
一旦、これまでの成果物を削除
cd ..
rm -rf build
mkdir build
cd build
cmake -DDEBUG_ON_PICO=ON ..
make
warning出るけどビルド成功。
debugprobe_on_pico.uf2ってのができるので、Seeeduino XIAO RP2040のBOOTボタンをおしながらWindowsPCのUSBに接続してドライブとして見えるようにして、debugprobe.uf2をその中に放り込むと、デバイスマネージャでユニバーサルシリアルバスデバイスのCMSIS-DAP v2 interfaeとして認識される。
この書き込み方法好きじゃないのよねー、、、Linuxだと管理者権限が必要なのとなんかうまくいかないってのと、機密管理の厳しい会社ではUSBメディアに書き出すことが許されていないからできないじゃんか。

この記事、公開するの忘れてた、、、

0 件のコメント:

コメントを投稿