はじめに
ノリと勢いでRaspberry Pi Pico(以下、pico)を買い、動かしてみたのでメモを残します。
pico自体の解説は、今回は飛ばしますが、Linuxで動く従来のラズパイと違ってマイコンボードになっています。
環境
- PC
- pico
- USBケーブル
- 開発環境
- 動作確認環境
手順
- windows マシンでpico環境の構築
- visual studio codeの環境構築
- 動作確認
参考1に従えばいいだけではある。
1. windows マシンでpico環境の構築
While Raspberry Pi does not directly support it there is a third-party installer script for Windows 10 that is roughly equivalent of the pico-setup.sh script for Raspberry Pi (see Chapter 1). More details at
https://github.com/ndabas/pico-setup-windows.
インストール自体は、ボタンをポチポチするだけです。
ただ、私はすでにpython 3.10.2が入っていて、環境を壊したくなかったのでpythonのチェックは外しました。
一点注意点があり、onedriveを利用している場合、インストール先が %UserProfile%\OneDrive\Documents\
となるので、別の場所にします。
原因を追究しませんでしたが、OneDrive上にインストールすると、ビルド時にsdkのパスが文字化けしたうえで File Not Foundになりました。
参考1ではgit リポジトリのクローンとビルドは自分でやっていましたが、私はインストーラーに任せました。
なお、参考2に示した公式のgetting started では、普通のラズパイを使うことが前提で文章がスタートします。9章の「Building on other platforms」で初めて別環境で動かすやり方が書いてあります。
2. visual studio codeの環境構築
visual studio codeを開きます。1でインストールしたところに Visual Studio Code for Pico
というショートカットがあるので、そこから起動します。(どうもその方が安全そう)
Extensionで CMake Toolをインストールし、Extension Settings内で Cmake: Configure Environmentを検索し、
項目(Item)に PICO_SDK_PATH
値(value)に 1でインストールしたフォルダ/pico-sdk
を追加します。configure中に渡す環境変数の指定です。
参考1では相対Pathを指定していましたが、自分でコードを作った際に置く場所が別になることもあると思うので、絶対Pathにしました。
次に、 Cmake: Generatorを検索し、 Nmake Makefiles
を入力します。
3. 動作確認
exampleをvscodeからビルドし、picoで動作させてみます。
まず、2のvscodeで ファイル/フォルダを開く
で pico-examples
フォルダを開きます。
開いたら、vscode 下部の青い部分にあるスパナアイコンをクリックして、 GCC x.x.x arm-none-eabi
を選択してキットを指定します。(私の環境ではx.x.xは10.3.1だった)
キットを指定したら、同じく青い部分にある歯車アイコンを押すとビルドが開始します。
なお、歯車アイコンの横の [all]
を押すとbuild targetを指定できます。
(ちゃんと確認してませんが、初回configureで終わって、もう一回押さないとビルドが始まらなかったりします)
ビルドが完了したら、 picoに書き込みます。
pico上の白いボタンを押しながらWindows PCとUSBケーブル接続をします。windowsが認識したらボタンを離して大丈夫です。
エクスプローラーでpico-examples/build/hello_world/usb/
フォルダを開き、
hello_usb.uf2をRPI-PR2にドラッグ&ドロップします。書き込みが完了すると、PCから認識されなくなります。
この状態のままTeraTermでシリアル通信をすると、Hello, world!
とpicoから受信できていることが確認できます。
なお、hello_worldにはusb以外にもserialがありますが、そちらはpicoのusb接続のほうではなくて、picoのGP0, GP1にでているUart通信のため、その通信ができる別機材が必要になります。(例えば別のラズパイだったりarduinoだったり)
参考
- Raspberry Pi Pico の開発環境構築(Windows10+Visual Studio code)
- getting-started-with-pico.pdf