Raspberry Pi Pico Wに対して,MacでPico SDKを利用するためのセットアップ方法を示します.
本文中で特段の言及がない限り,基本的には以下の公式ドキュメントを参照しています.
もし引っかかるポイントがあれば,こちらをご確認ください.
https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf
https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf
https://datasheets.raspberrypi.com/picow/connecting-to-the-internet-with-pico-w.pdf
Homebrewのインストール
まずはTerminal.appを開いてください.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
VSCodeのインストール,セットアップ
brew update
brew install visual-studio-code
code
VSCodeが立ち上がりますので,左のバーから拡張機能 "CMake Tools" をインストール,有効化してください.
ツールチェーンのインストール
brew install cmake
brew tap ArmMbed/homebrew-formulae
brew install arm-none-eabi-gcc
概ね10分かかりました.
なお,Apple Siliconを搭載したMacでは,Rosettaを有効化しなければならない場合があるようです.
その場合は以下のコマンドでインストールできるとのことです.
/usr/sbin/softwareupdate --install-rosetta --agree-to-license
Pico SDKのセットアップ
git clone https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk
git checkout 1.5.1
git submodule update --init
cd ..
サンプルリポジトリのセットアップ
git clone https://github.com/raspberrypi/pico-examples.git
cd pico-examples
git checkout sdk-1.5.1
mkdir .vscode
vi .vscode/settings.json
JSONファイルの中に,以下を書き込みます.
{
"cmake.environment": {
"PICO_SDK_PATH": "../../pico-sdk",
"PICO_BOARD": "pico_w",
"WIFI_SSID": "ご自宅のWi-Fi SSID(2.4GHz)",
"WIFI_PASSWORD": "ご自宅のWi-Fiパスワード"
},
"C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools"
}
ここではviを使用しましたが,emacsやnano,cotなどお好みのエディタをご利用ください.
VSCodeのセットアップ
code .
上記コマンドを叩くと,VSCodeでリポジトリが開かれます.(ピリオドをお忘れなく)
画面下のバーより,[🛠No Kit Selected]をクリック,GCC for arm-none-eabi を選択します.
もしGCC for arm-none-eabiが見つからなかったら,[Scan for Kits]を選択した上で改めて[🛠No Kit Selected]をクリック,GCC for arm-none-eabi が表示されないか試してみてください.
ここまでできたら,画面下のバーに出現する[⚙Build]をクリックすることで,Raspberry Pi Pico W に転送可能なuf2バイナリが生成されます.
私の環境では2分程度かかりました.
Lチカしてみる
本体の[BOOT SEL]を押しながらMicro USBケーブルでMacと接続します.
接続したらボタンは離してOKです.
MacでFinderを開き,左のバーに[RPI-RP2]という名前の外部デバイスが表示されたことを確認し,これをクリックします.
VSCodeに戻り,左のバーからPICO-EXAMPLES/build/pico_w/wifi/blink/picow_blink.uf2を見つけて,これをRPI-RP2の中にドラッグ&ドロップします.
自動的にマウントが外れて再起動し,Pico Wの本体LEDが点滅するはずです.
もしうまくいかないときは,buildログを読んでみるとよいです.
先頭のほうに,結構見やすく状況を出力してくれています.
なお,PICO-EXAMPLES/build/blink/blink.uf2は動作しません.
これは,PicoではGPIO 25で内蔵LEDにアクセスできていたものの,Pico Wでは当該GPIOはWi-Fiチップにより使用されているためです.
Wi-Fiチップの機能を利用してblinkさせるため,pico_w/wifiの中に配置されていると思ってよさそうです.
参考) Raspberry Pi Pico Wのハードウェアとソフトウェアを覗いてみる - Qiita
もしPICO-EXAMPLES/build/pico_w/wifi/blink/picow_blink.uf2が見つからない場合は,環境変数が設定されていない(settings.jsonのミス) or 依存関係にあるライブラリが見つからない(git submodule update --init忘れ)などが考えられます.
Hello, World!
一旦Micro USBケーブルを抜き,改めて本体の[BOOT SEL]を押しながらMicro USBケーブルでMacと接続し,ボタンを離します.
MacでFinderを開き,左のバーから[RPI-RP2]をクリックします.
VSCodeに戻り,今度は左のバーからPICO-EXAMPLES/build/hello_world/usb/hello_usb.uf2を見つけて,これをRPI-RP2の中にドラッグ&ドロップします.
MacでTerminal.appを開き,
ls /dev/tty.usb*
でPico Wを見つけます.
(おそらく1つだけ表示されるはずです.もし複数あるときは,ls -l /dev/tty.usb* として時刻が最も新しいものを覚えておきます.)
その上で,
screen /dev/見つけたデバイス名
とすることで接続できます.例: screen /dev/tty.usbmodem14401
Hello, world!
Hello, world!
Hello, world!
Hello, world!
︙
と表示できていればOKです.
終了するには,Ctrl+A → Ctrl+K → Y です.
Command⌘キーではないのでご注意を.
うまく接続できないときは,USBケーブルを一度抜き差しするか,sudo screen 〜のようにsudoをつけて試してみてください.
[おまけ] Micro USBケーブルの抜き差しが億劫
タクトスイッチが1個 or ジャンパケーブルが1本あれば,いちいちUSBケーブルを抜き差しすることなく書き込み・再起動が可能になります.