こんにちは、あろっちです。
Raspberry Pi PicoやRP2040搭載ボードにChromebook(Linux開発環境 = Crostini)やRaspberry Pi OSなど一部環境ではシリアル通信でスケッチの書き込みができなかったり、書き込みに失敗することがあります。
そこで、スケッチを手動で書き込む方法を紹介したいと思います。
大まかな手順は、次の通りです。
- スケッチをコンパイル(ビルド)してバイナリファイル(uf2ファイル)を書き出す
- RP2040搭載ボードをUSBマスストレージモードでPCに接続する
- uf2ファイルをボード(RPI-RP2)にドラッグ&ドロップする
スケッチのバイナリファイル(uf2ファイル)を出力するには
Arduino IDEの場合
メニューから[スケッチ] > [コンパイルしたバイナリを出力]を選択します。
スケッチフォルダにバイナリファイル(拡張子が.uf2)が出力されます。
Arduino for Visual Studio Codeの場合
事前にバイナリファイルの出力先をスケッチフォルダ内の.vscode/arduino.jsonに設定します。
例えば、スケッチフォルダ/buildにバイナリファイルを出力する場合、次のように記述します。
"output": "./build"
“output”: に出力先フォルダを指定します。
チェックマークでビルドします。
“output”: で指定したフォルダ内にバイナリファイル(拡張子が.uf2)が出力されます。
PlatformIO IDEの場合
チェックマークでビルドします。
バイナリファイルの場所:
プロジェクトフォルダ内
.pio/build/pico/firmware.uf2
RP2040搭載ボードをUSBマスストレージモードにするには
リセットボタン搭載タイプのボードは、次の手順でUSBマスストレージモードにできるかと思います。
- BOOTボタンを押す
- リセットボタンを押す
- リセットボタンを離す
- BOOTボタンを離す
Raspberry Pi Picoの場合は、BOOTSELボタンを押しながらPCに接続します。
ドラッグ&ドロップ(Chromebookの例)
この動画のバイナリファイル(Blink.ino.rpipico.uf2)は、Blink.inoスケッチをArduino IDEでコンパイル&バイナリ出力したものです。
まとめ
RP2040搭載ボードは手動でバイナリファイルが書き込めれば、環境問わず開発できるのがメリットになるかと思いますので、シリアル通信で書き込めない環境の場合はぜひお試しください。
以下は、当ブログのマイコン記事になります。よろしければご覧ください。
コメント