LoginSignup
5
1

More than 3 years have passed since last update.

【小ネタ】WSL利用時のRaspberry Pi Picoへの書き込みをコマンドラインから行う

Posted at

Raspberry Pi PicoをWSL(Windows Subsystem for Linux)で使う で紹介した手順で、WSL上のビルドでできた*.uf2ファイルをコマンドラインからRaspberry Pi Picoに書き込めるようにします。

pico-installスクリプト

BOOTSELボタンを押しながら起動すると現れるマスストレージデバイスはWSLからは見えないためWindowsのエクスプローラからドラッグ&ドロップする必要があったのですが、WSLからPowerShell1を呼び出して代わりにコピーしてもらうことで、WSLでもコマンドラインからの書き込みができるようにしました。

以下のシェルスクリプトをpico-installという名前で保存して実行属性を付けます。

pico-install
#!/bin/sh
if [ $# -ne 1 ]; then
        echo "Usage: $0 <file>"
        exit 1
fi

DRIVE=`powershell.exe get-volume|grep RPI-RP2|awk '{print $1}'`

if [ "${DRIVE}" = "" ]; then
        echo "$0: Raspberry Pi Pico is not mounted"
        exit 1
fi

powershell.exe copy $1 ${DRIVE}:

WSLでアプリケーションをビルド後、pico-install blink.uf2 のようにuf2ファイルを指定して実行すると、ボリューム名が RPI-RP2 であるドライブ(BOOTSELを押しながらRaspberry Pi Picoを起動すると現れるドライブ) にそのファイルをコピーしてくれます。該当ドライブがなければエラーで終了します。


  1. コマンドプロンプトからでも見えるのですが、こちらは逆にWSL側のファイルシステム(\\wsl$\)を見ることができないため、使えるのはPowerShell一択です。 

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1