Magicode logo
Magicode
1
5 min read

raspberry pi picoをwindows10&Visual Studio Codeで動かしてみた

https://cdn.apollon.ai/media/notebox/8a88767a-71a2-4316-aa45-1de292577926.jpeg

はじめに

ノリと勢いでRaspberry Pi Pico(以下、pico)を買い、動かしてみたのでメモを残します。
pico自体の解説は、今回は飛ばしますが、Linuxで動く従来のラズパイと違ってマイコンボードになっています。

環境

手順

  1. windows マシンでpico環境の構築
  2. visual studio codeの環境構築
  3. 動作確認
参考1に従えばいいだけではある。

1. windows マシンでpico環境の構築

今回はサードパーティー製のwindows 用インストーラーを使って環境構築しました。(2022/05/04時点で、v0.3.4)
こちらは公式のインストーラーではないようなのでご注意ください。
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だったり)

参考

  1. Raspberry Pi Pico の開発環境構築(Windows10+Visual Studio code)
  2. getting-started-with-pico.pdf

Discussion

コメントにはログインが必要です。