コンテンツにスキップ

ブラウザから実機に書き込む

プロジェクトがシミュレータで動作したら、何もインストールせずに実機のボードに書き込むことができます。Velxioはコンパイル済みファームウェアをUSB経由で、ブラウザから直接フラッシュします。

  • Chromiumベースのブラウザ(ChromeまたはEdge)。フラッシャーはブラウザのWeb Serial APIとWebUSB APIを使用しますが、FirefoxとSafariにはこれらが搭載されていません。Picoファミリーのボードでは、これらのブラウザでもDownload .uf2ボタンが表示されます(下記参照)。
  • データ通信対応のUSBケーブル(ボード接続用)。
  • 先にポートを使用している他のソフトウェア(シリアルモニタ、IDE、picotool)をすべて閉じてください。ブラウザが排他的にアクセスする必要があります。

USBシリアルポートを選択するフラッシュダイアログ

  1. キャンバス上のボードを右クリックし、Flash to real board(実機のボードにフラッシュ)を選択します。
  2. Connect & flash(接続してフラッシュ)をクリックします。ブラウザがどのUSBデバイスにアクセスを許可するか尋ねるので、自分のボードを選択します。
  3. Velxioは、そのボード用にすでに作成したビルド(シミュレータが実行していたものと同じバイナリ)を使用します。その後コードが変更された場合は、最初に再コンパイルされ、コンパイラの出力がダイアログにストリーミング表示されます。
  4. 進行状況バーを確認します。完了すると、ボードが再起動してプロジェクトが実行されます。

ダイアログはターゲットに応じてプロトコルを選択します:

ファミリー 書き込み方法 ボードの状態
ESP32、S3、C3、C6 シリアルポート経由のesptool、マージされた.bin 接続済みであること。応答しない場合はBOOTボタンを押したままにする
Arduino Uno、Nano、Mega、ATtiny85 ボードのブートローダに対するSTK500、.hex 接続済みであること(ATtiny85:ArduinoISPを実行しているArduinoを経由)
Raspberry Pi Pico、Pico W、Pico 2、Pimoroni RP2040 / RP2350ボード WebUSB経由のPICOBOOT、picotoolがビルドした.uf2 BOOTSELモードであること(次のセクション)

Picoファミリーボード:最初にBOOTSEL

Section titled “Picoファミリーボード:最初にBOOTSEL”

RP2040またはRP2350は、チップがBOOTSELモードでのみ表示する別のUSBパーソナリティであるブートローダによってプログラムされます。そこに到達するには2つの方法があります:

  • 手動: BOOTSELボタンを押したままボードを接続し、その後離します。ボードはRPI-RP2(RP2040)またはRP2350という名前のUSBドライブとしてマウントされます。
  • ダイアログから: これらのボードのフラッシュダイアログには、Reboot into bootloader over USB(USB経由でブートローダに再起動)ボタンがあります。これは、ボードがVelxioがビルドしたスケッチ(Arduinoコアが1200ボーオープンで再起動する)またはMicroPython(REPLがmachine.bootloader()を実行する)を実行している場合に機能します。ブラウザがボードのシリアルポートを尋ね、ボードは切断され、ブートローダとして戻ってきます。次にConnect & flash(接続してフラッシュ)をクリックし、RP2 Boot / RP2350 Bootデバイスを選択します。

2回のクリック、2つの権限プロンプト:再起動用のシリアルポートと書き込み用のUSBデバイスです。ボードがBOOTSELモードになると、以降のフラッシュでは2番目のプロンプトのみが必要です。

Pimoroniは、2025年1月までStellarおよびGalactic UnicornをPico W(RP2040)搭載で販売し、それ以降はPico 2 W(RP2350)搭載で販売しています。シミュレータは現在のものを実行します。フラッシュダイアログには、これらのボード用のReal board revision(実機のボードリビジョン)セレクタがあります。古いユニットには「Pico W aboard」を選択してください。ダイアログはそのチップ用の2番目のイメージをビルドし、フラッシュまたはダウンロードします。シミュレータは独自のビルドを実行し続けます。選択はボードごとに記憶されます。ボード背面のラベル(またはBOOTSELモード時のドライブ名、RPI-RP2とRP2350の違い)で、どちらのボードかを確認できます。

ダイアログは、応答したチップと一致しないイメージ(RP2040へのRP2350ビルド、ARM構成へのRISC-Vビルドなど)を、何かを消去する前に拒否し、書き込み後にすべてのバイトを検証し、ボードをプログラムで再起動します。

WindowsとRP2040:WinUSBを一度インストールする

Section titled “WindowsとRP2040:WinUSBを一度インストールする”

RP2040ブートローダにはWindowsドライバ記述子が同梱されていないため、WinUSBがバインドされるまでブラウザはそれを要求できません。一度だけのセットアップ:

  1. ボードをBOOTSELモードにして接続します。
  2. Zadigをダウンロードして実行します。
  3. リストからRP2 Boot (Interface 1)を選択し(非表示の場合はOptions、List All Devices)、ドライバとしてWinUSBを選択し、Install Driver(ドライバをインストール)をクリックします。

RP2350ボード(Pico 2、Pico 2 W、Pimoroni「Pico 2 W Aboard」Unicorn、Badger 2350)は何も必要ありません。これらのブートローダには記述子が含まれており、Windowsが自動的にWinUSBをバインドします。macOSはどちらのチップでも何も必要ありません。

LinuxはUSBデバイスをデフォルトでrootに割り当てます。/etc/udev/rules.d/99-velxio-rp2.rulesを作成します:

SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", MODE="0666", TAG+="uaccess"

次にsudo udevadm control --reload-rules && sudo udevadm triggerを実行し、ボードを接続し直します。再起動ステップで使用されるシリアルポートには、通常のdialoutグループメンバーシップも必要です。

任意のブラウザ:.uf2をダウンロードするか、ドライブにコピーする

Section titled “任意のブラウザ:.uf2をダウンロードするか、ドライブにコピーする”

Picoファミリーボードのフラッシュダイアログには、常にDownload .uf2オプションがあります(FirefoxとSafariでは、ブラウザがフラッシュできないため、これがダイアログのすべてです)。ファイルを保存し、ボードをBOOTSELモードにして、RPI-RP2 / RP2350ドライブにファイルをドロップします。コピーが完了するとすぐにボードが再起動してスケッチが実行されます。

ChromeとEdgeには、Copy to the board’s drive(ボードのドライブにコピー)もあります。ブラウザがドライブの選択を求め、ファイルをそこに書き込みます。ドライバは関与しないため、WinUSBをインストールせずにWindowsでRP2040をプログラムする方法です。ダイアログは、選択したフォルダがBOOTSELドライブであること(INFO_UF2.TXTが含まれていること)を、何かを書き込む前にチェックします。

ダイアログは、プロジェクトの.pyファイルをREPL経由でアップロードし、main.pyで再起動します。MicroPython自体は最初にボードにインストールされている必要があります:

  • PicoおよびPico W: ダイアログがインストールします。REPLが応答しない場合は、ボードをBOOTSELモードにしてRetryをクリックするよう求められます。そのクリックで、シミュレータが実行するのと同じMicroPythonビルドが書き込まれ、もう一度Retryするとファイルがアップロードされます。
  • Pimoroni RP2350ボード(Badger 2350、Pico Plus 2W):これらにはPimoroni独自のMicroPythonが同梱されています。紛失した場合は、pimoroni-pico-rp2350から.uf2をダウンロードし、BOOTSELドライブに一度ドロップしてから、ダイアログからフラッシュします。
  • 「No board in BOOTSEL mode was found」(BOOTSELモードのボードが見つかりません): デバイスピッカーが空でした。再起動ボタンを使用するか、接続中にBOOTSELを押したままにして、再度接続してください。
  • 「The board in BOOTSEL is an RP2040 but this project is built for RP2350」(BOOTSELのボードはRP2040ですが、このプロジェクトはRP2350用にビルドされています): Pico Wを搭載した古いUnicornです。ダイアログのReal board revision(実機のボードリビジョン)セレクタで「Pico W aboard」を選択し、再度フラッシュしてください。
  • WindowsでRP2040を使用時に「Could not claim the USB device」(USBデバイスを要求できませんでした): 上記のZadigの手順を実行してください。Linuxの場合:上記のudevルールを実行してください。
  • シリアル再起動が機能しなかった: USBスタックが無効な状態でビルドされたスケッチは、USB経由で再起動できません。接続中にBOOTSELを押したままにしてください。

最初にシミュレート、次にフラッシュ

Section titled “最初にシミュレート、次にフラッシュ”

これにより、Velxioを実際の作業に役立てるためのループが完成します。シミュレータで高速に反復処理(ケーブル不要、ハードウェアの摩耗なし、即時リセット)を行い、動作が確認できたら、まったく同じビルド成果物をフラッシュします。