最終更新日:2023/1/24
今更ですが、RP2040ボードの初期化(出荷時状態に戻す)方法論について記録に残そうと思いました。
RP2040ボードの工場出荷時状態復元方法は、基本的にBOOLSELボタンを押しながらUSBケーブル接続してドライブマウントされた後、初期化用のUF2ファイルをドラッグ&ドロップしてコピー完了後自動再起動させることで完了すると云われています。
そのため各ボード用に出荷時状態のUF2ファイルが存在することになります。そのボード用のUF2ファイルを間違えないようにインストールすれば良いのですが、間違ったファイルをコピーしたらどうあるのか等々気になるかと思います。この辺りも記録に残します。
工場出荷時状態に戻す必要が発生するケースですが、自分の経験ではPCとRP2040をUSB接続したときにシリアルポートが認識されない場合に実行することが殆どかと思います。ただ、これはUSBシリアル経由でプログラムを書き込む事が前提のようで、他の開発環境は必ずしもUSBシリアル経由で書き込むわけでは無く、USB接続してマウントされたドライブにコンパイル後のUF2ファイルをコピーすることの方が一般みたいです。
ネット上に置かれているUF2ファイルがどの環境用なのか?以下ににリストアップして置きます。
picoprobe.uf2 | 51,200 | 汎用 |
adafruit-circuitpython-raspberry_pi_pico-ja-7.2.1.uf2 | 1,495,040 | CircuitPython用 |
Blink.ino.elf.uf2 | 186,368 | Arduino Nano RP2040 Connect |
rp2-pico-20220117-v1.18.uf2 | 582,144 | MicroPythonのファームウェア |
flash_nuke.uf2 | 25,600 | MicroPython用初期化 |
pico-debug-maxram.uf2 | 25,600 | 片方のコアでデバッグプローブソフトウェア |
rp2-pico-20230123-unstable-v1.19.1-833-gd387ae344.uf2 |
625,152 |
MicroPython XIAO RP2040用? |
MicroPythonにしろCircuitPythonにしろ、インタプリタが含まれているためそこそこ大きなファイルサイズですね。
Arduino-Pico環境の場合、USBシリアル環境を確保したいです。adafluit製のUF2はシリアルドライバがインストールされるようで、これによってArduinoIDEから仮想シリアルポートが確認出来ます。この状態でスケッチを書き込めば一応OKなのかと思います。
ただ、その後が問題になります。シリアルポートが見え無くなってしまい、シリアルモニタが開きません。
自分の提案は、シリアルポートが認識されたら、デバイスドライバをArduinoユニバーサルシリアルデバイスドライバに更新させることです。これを実現すると、スケッチをビルドして、バイナリコードをデバイスに転送すると、自動再起動か掛かりシリアルが切断されるのですが、プログラム起動と同時にシリアルポートも復活します。シリアルモニタが開きっぱなしでも大丈夫みたいです。
免責事項
本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。
商標・登録商標