明日は我が身の備忘録(あすびぼ)

自分向け備忘録です。頻繁に更新は難しいでしょうね

Raspberry Pi Pico の開発環境構築(Windows10+Visual Studio code)

f:id:kirikoshokunin:20210414233408p:plain:w300
 
 Raspberry Pi Picoをマルツで購入してみたが、開発環境の構築が厄介だったのでメモとして残す(ちゃんと資料を読めば簡単)。 目標としてWindows10でVisual Studio Codeを使用してビルドできることを目指す。

↓のドキュメント「getting-started-with-pico.pdf」に開発環境構築の情報があるのでこれを基に環境構築を行う。

https://datasheets.raspberrypi.org/pico/getting-started-with-pico.pdf

 

Raspberry Pi Pico Windows用 Setupインストローラをダウンロード

github上で公開されているインストローラをまずダウンロードする。 今回は64bit用exeを使用させて頂いた。

github.com

f:id:kirikoshokunin:20210414233515p:plain:w300
インストローラ起動画面

インストーローラを起動してNextをクリックするとインストールするコンポーネントを選択する画面となる。 ここで必要なコンポーネントは下の5つ。他のコンポーネントは必要に応じてインストールすれば良さそう。今回はとりあえずチェックボックスを変更しないで”Next”をクリックした。すでにインストールされているコンポーネントはスキップされる。

  • arm GCC compiler
  • CMake
  • Build Tools for Visual Stuidio 2019
  • Python 3.9
  • Git

f:id:kirikoshokunin:20210414233539p:plain:w300
コンポーネントの選択 とりあえず変更しないで"Next"

一通りインストールが終わったらRaspberryPi PicoのSDK等をgitからローカルにクローニングするか尋ねられるので今回は手動で行いたかったのでお断りした。

SDKとサンプルのクローニング

 インストール時にクローニングをお断りしたので、手動でクローニングをする。

まず、インストールしたBuild Tools for Visual Stuidio 2019のDebeloper PowerShell for VS 2019をスタートメニューから開く。

f:id:kirikoshokunin:20210414234712p:plain:w300
Debeloper PowerShell for VS 2019

そして、ワークスぺースを作りたいところでクローニングする。今回はF:ドライブ直下にworkspaceというフォルダを作ったのでその中にクローニングしていく。 通常はC:ドライブで行えばよい。私の環境ではCドライブ容量が心もとないのでF:ドライブで行った。

コマンドは以下の通り。

F:\workspace> git clone -b master https://github.com/raspberrypi/pico-sdk.git
F:\workspace> cd .\pico-sdk
F:\workspace\pico-sdk> git submodule update --init
F:\workspace> git clone -b master  https://github.com/raspberrypi/pico-examples.git

これでクローニングが完了した。 エクスプローラーで該当のフォルダを見ると様々なフォルダが追加されているのがわかる。

"Hello World"をコマンドラインからビルドする

Visual Studio Codeでビルドする前に資料通りコマンドラインからビルドしてみる。

SDKのパスを設定

コマンドは以下の通り。

F:\workspace> setx PICO_SDK_PATH "..\..\pico-sdk"

Poweshellで下の文章が帰ってきたらPoweshellを一旦閉じて再起動する。

成功: 指定した値は保存されました。

”pico-examples”フォルダに移動して”build”フォルダを作る。

"build"フォルダに移動してcmakeとnmakeを実行してビルドする。

このビルドはクローニングしたサンプルプログラムをすべてビルドするのでかなり時間がかかる。

コマンドは以下の通り。

PS F:\workspace> cd pico-examples
PS F:\workspace\pico-examples> mkdir build
PS F:\workspace\pico-examples> cd build
PS F:\workspace\pico-examples\build>  cmake -G "NMake Makefiles" ..
PS F:\workspace\pico-examples\build> nmake

ビルドが正常終了すると、先ほど作成した"build"フォルダにサンプルのフォルダごとにビルド結果がわかれている。

今回は"F:\workspace\pico-examples\build\hello_world\usb"のUTF2ファイルをRaspberryPi Picoに書きこむ。 このサンプルは、USB経由で仮想COMポートとなりシリアル通信で"Hello World”を送信するプログラムで、 TeraTerm等から送信した文字列が読める。

Raspberry Pi Picoに書き込む

 まず下図のようにRaspberryPiPicoとPCをUSBで接続する。スイッチを押しながら電源供給を始めないとプログラムが動いて書き込めないので注意。 USBを挿して電源供給が始まりPCがRPI-PR2を認識したらスイッチを押すのを止めてもめて良い。

f:id:kirikoshokunin:20210415002233p:plain:w300
Bootselを押しながらUSBを挿入

 PCがRPI-PR2を認識したら先ほどビルドした”hello_usb.uf2”をRPI-PR2にドラッグ&ドロップする。ドロップした瞬間書込みが始まり、PCから認識されなくなる。書込みが完了したらプログラムが実行される。

f:id:kirikoshokunin:20210415001614p:plain:w300
UF2ファイルをドラッグ&ドロップ

 TeraTarmなどで通信を読むと下のような挨拶が送信されてくる。これでビルドが正常にできていることが確認できた。

f:id:kirikoshokunin:20210415002832p:plain:w300
Picoからの挨拶文

Visual Studio Codeの環境設定

 最後にVisual Studio Codeの環境を設定してビルドできるようにする。

Visual Studio Codeを開くにはコマンドプロンプトで下のコマンドを実行する方法と、スタートメニューから起動する方法があるがどちらでも良いので起動する。

code

f:id:kirikoshokunin:20210415003031p:plain:w300
Visual Studio Codeの起動画面

起動が正常にできたらまず、ExtentionでCMake Toolを有効化する。(インストールされてない場合はインストールする)

f:id:kirikoshokunin:20210415003631p:plain:w300
CMake Toolを有効化

次に歯車ボタンをクリックして、Extention settingをクリック

f:id:kirikoshokunin:20210415004040p:plain:w300
Extention settingをクリック

CMake Tools configurationで"Cmake: Configure Environment"を探して"Add Item"をクリックしてItemとValueに下図のように入力。(¥は\と同じ)

Item: "PICO_SDK_PATH " Value "....\pico-sdk"

f:id:kirikoshokunin:20210415004742p:plain:w300
"Cmake: Configure Environment" でAdd Item

次にCMake Tools configurationでCmake:Generatorを探してテキストボックスにNmake Makefilesを入力する。

f:id:kirikoshokunin:20210415005438p:plain:w300
Cmake:Generatorを探してNmake Makefilesを入力

これでVisual Studio Codeの環境設定が終わった。

ワークスペースを開く

  下図のように”Open Folder”をクリックして、SDKとサンプルをクローニングしたワークスペースの中の”pico-examples ”フォルダを選択する。

f:id:kirikoshokunin:20210415005932p:plain:w300
左上のExplorerをクリックして”Open Folder”をクリック

f:id:kirikoshokunin:20210415010649p:plain:w300
pico-exampleフォルダを選択

フォルダを選択したら、下の青いバーで「キットが選択されていません」と出るのでここをクリックする。すると、上部の検索テキストボックスの下に選択肢が出現するので、”GCC for arm-none-eabi ”を選択

f:id:kirikoshokunin:20210415011017p:plain:w300
キットを選択でGCC for arm-none-eabi 10.2.1 を選択

プロジェクトをビルド

上の工程をすべて実行したらビルドをする準備ができたのでビルドを行う。ビルドは下図のように青いバーの中の歯車マークをクリックすることでビルドが始まる。このビルドもコマンドプロンプトでビルドした際と同様にサンプルプログラムをすべてビルドするので時間がかかる。(コマンドプロンプトでビルドした後変更していなければ早い)

f:id:kirikoshokunin:20210415011718p:plain
下の歯車マークをクリックしてビルド開始

ビルドが正常に終了したら、コマンドプロンプトでビルドした際と同様に"build"フォルダからドラッグ&ドロップで書き込む。

サンプルプログラムのコードを変更してみたいときは、左のexplorerからサンプルを選択してCファイルを開いて変更してビルドすればよい。

新しいプロジェクトを作成する場合

kirikoshokunin.hatenablog.com