最終更新日:2023/2/21
※[2023/02/21]NotePCでデバイスドライバにCOMポートがないケース
※[2022/03/25]シリアルドライバを提供されている方が見えました。
RP2040ボードはPCとUSBケーブルで接続したら仮想COMポートとして認識されます。
また、BOOTSELボタンを押してUSBケーブルを接続したらUSBマスストレージとして認識されます。ArduinoIDE環境下でプログラム開発し、ビルドしたコードをRP2040デバイスにUploadする場合、ArduinoIDE環境下でRP2040デバイスと接続したCOMポートが見つからなくても、なぜか、自動認識し、USBマスストレージとして認識してバイナリコードをコピーし、自動切断します。
ここで問題なのはシリアルモニタにてデバッグする場合です。COMポートが認識されていないとシリアルモニタでのデバッグが出来ないのです。
この場合の対処方法としては、『他のデバイス』として認識されているポートに仮想シリアルポートを割り付ければ良いです。
ATMELincの仮想シリアルドライバ(inf)を強引にインストールするか?デバイス名等をレタッチしたinfファイルを作成し、これを選択してインストールすれば良いです。一方何らかのタイミングで『他のデバイス』では無い不明なユニバーサルシリアルバスコントローラとして認識されてしまうケースもあるようです。
この場合、ArduinoIDE環境ではなく、MicroPython 環境で有った場合は、先人が方法論を提供されています。オリジナルがどなたのモノなのか把握出来ないので内容だけ示すと、
- CircutPython用のUF2ファイルをインストール
adafruit-circuitpython-raspberry_pi_pico-ja-7.2.1.uf2
※https://github.com/adafruit/circuitpython/releasesからダウンロード出来るようです。- Raspberry Pi Pico用の公式MicroPythonを再インストール
rp2-pico-latest.uf2
※https://micropython.org/download/rp2-pico/からダウンロード可能のようです。上記手順で確かにUnknown USB deviceだったポートがCOM割付されます。ところがArduinoIDEからの書き込みは認められません。
一方、
- CircutPython用のUF2ファイルをインストール
adafruit-circuitpython-raspberry_pi_pico-ja-7.2.1.uf2- RP2040 Nano Connect用のblink.ino.elf.uf2
Blink.ino.elf.uf2上記手順だとArduinoIDEからの書き込みは認めらたのですが、その直後Unknown USB deviceになってしまいました。
Raspberry Pi Pico用の工場出荷時用UF2ファイルがあれば目的が実行できそうです。が。見つかりません。
その後思った事があります。公式のArduino RP2040環境のボードパッケージをインストールするとシリアルドライバのインストールをアナウンスされるようです。
これがインストールされると Raspberry Pi Pico としてシリアル接続が認められるのでは無いかと思います。
※アール・F・フィルハワー3世版のみのインストールではこのデバイスドライバのインストールを訪ねられないようです。
【USBポートを壊してしまう手順】
- PiPicoをArduinoで使用する場合、I2C0(8,9) I2C1(6,7)で、I2C0(6,7)という物理的に問題のあるコードを書き込むとUSBポートが使えなくなるようなダメージが発生している模様
Wire.setSDA(6);
Wire.setSCL(7);
Windows7/8用のシリアルドライバファイルを提供されている方が見えました。
https://drive.google.com/drive/folders/15ub65XQQIVnaFDG6s73oI3qR4ZOZhQu6
XIAORP2040のコード検証中、バイナリコードの書き込みが出来なくなってしまいました。USBポートが接続出来なくてエラーになったり、シリアルポートとして認識出来なくてコード転送が出来なかったり、幾つか理由はあるのですが、殆どのケースはUSBポートを挿し直す事で解決していました。
或いは、BOOLボタンを押しながらUSBポートを挿して、マスストレージとして認識させ、適当なUF2ファイルをコピーして、環境初期化をし、その後は普段通り使える様になったモノです。ところが、ビルド書込後、マスストレージとして認識出来ず、BOOTボタンを押しながらUSBを差し込むとマスストレージとして認識されるモノの、ポップアップメッセージが表示されない状態だとArduinoIDEからのバイナリコードの書き込みがどうしても出来ないケースがありました。
Resetting COM50 Converting to uf2, output size: 136704, start address: 0x2000 No drive to deploy. スケッチの書き込み中にエラーが発生しましたどうもスケッチ内のPinアサインの指定を間違えた様です。
マスストレージとして認識出来るので、《rp2-pico-20220117-v1.18.uf2》とかのファームウエアを書き込んで解決を図るのですがなかなかうまくゆきません。
どうもシリアルドライバの扱いが問題のようです。シリアルポートは認識されているかのようでしたが他のソフトから、このポートに対してオープンを掛けても認識出来ない事が判りました。
この場合、ドライバのUpdateでは解決しないようです。まずドライバ削除からやり直す必要があるようです。ここまで実施すると自分の場合は解決しました。
免責事項
本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。
商標・登録商標
Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。