20240806170437 PIOでrp2040にuploadしようとするとエラー

platformiorp2040

普通(TinyUSBを使用したソフトが書きこまれて「いない」場合)

windowsのpioでrp2040のプロジェクトを作成、uploadを実行すると、

Uploading .pio\build\waveshare_rp2040_zero\firmware.elf
No accessible RP2040/RP2350 devices in BOOTSEL mode were found.

but:

Device at bus 1, address 18 appears to be a RP2040 device in BOOTSEL mode, but picotool was unable
    to connect. You may need to install a driver via Zadig. See "Getting started with Raspberry Pi
    Pico" for more information

などと表示されて、アップロードできない。 書いてある通りなのだが、

Zadig のドライバーに入れかえる。入れかえるのは Interface 1 だけで良い。 Interface 0 はCOMとUSBマスストレージのCompositeなので、ドライバが間違っていたら変更する。


以前のバージョンでは下記のような場合もあった。

AVAILABLE: blackmagic, cmsis-dap, jlink, pico-debug, picoprobe, picotool, raspberrypi-swd
CURRENT: upload_protocol = picotool
Looking for upload port...
Auto-detected: COM10
Forcing reset using 1200bps open/close on port COM10
Uploading .pio\build\generic\firmware.elf
rp2040load 1.0.1 - compiled with go1.15.8
.....................
*** [upload] Error 1

などと表示されて、うまくいかない。

upload_protocol = mbed

とするとうまくいった。 mbedは

AVAILABLE: blackmagic, cmsis-dap, jlink, pico-debug, picoprobe, picotool, raspberrypi-swd

に表示されていないので、今(20240806)はうまくいっているが、公式にはサポートされていないかもしれない。

こちらの手順の通りにしたら動いた。 PlatformIO+Raspberry Pi Picoで一時Uploadができなくなった話 - 名称未設定。

TinyUSBを使用している場合

picotoolがboot modeでストレージに見えるようになるところまで動くが、その後アップロードできない。 これの解決方法。

これで書きこめるようになった。

Refs.