Raspberry Pi Pico SDK v1.5(Pico setup for Windows)Windows環境構築

Raspberry Pi Pico SDKを使用して、Windows上でRaspberry Pi Pico(RP2040)の開発環境を構築する方法について。

公式の資料は以下の通りです。

 

 

Raspberry Pi Pico SDKのインストール方法

「Raspberry Pi Pico をセットアップしよう」の48ページ付近にある通り、Windows上で開発を行うためには以下のソフトウェアが必要です。

  • ARM GCC コンパイラー
  • CMake
  • Build Tools for Visual Studio 2019
  • Python 3.9
  • Git

これらのソフトウェアをPDFの説明通りに個別に導入するのも良いのですが、非常に手間がかかります。

そのため全てをひとまとめにしたインストールパッケージ(Pico setup for Windows)を使用して開発環境を整えてみましょう。

 

Pico setup for Windowsのダウンロード

Pico setup for Windows をダウンロードしましょう。

Download the latest release」リンクからダウンロードしてもいいですし、リリース一覧から「pico-setup-windows-x64-standalone.exe」をダウンロードしても良いと思います。

2024年7月現在ですと、v1.5.1が最新のようです。

こちらに含まれているソフトは、PDF中で指定されているものと少し違う点があります。

特に、ビルドシステムとしてのコマンドが、「Build Tools for Visual Studio 2019」ではなく「Ninja」となっているため、PDFの説明通りにnmakeコマンド(Microsoft Program Maintenance Utility [NMAKE.EXE])を使用しようとしてもこのパッケージには収録されておらず、一部コマンドを変更する必要があります。

ビルド方法については後述します。

 

Pico setup for Windowsのインストール

ダウンロードしてきた「pico-setup-windows-x64-standalone.exe」を実行します。

 

Pico SDK v1.5 Pico Setup Windows Install 01 Pico SDK v1.5 Pico Setup Windows Install 02

「Next」で進めて「Install」でインストールを開始します。

 

Pico SDK v1.5 Pico Setup Windows Install 03 Pico SDK v1.5 Pico Setup Windows Install 04

インストールが終了すると、サンプルファイルを配置するか聞かれます。

大変参考になるので、チェックを入れたままにしておきましょう。

デフォルトだと「%USERPROFILE%\Documents\Pico-v1.5.1」に配置されるようです。

 

Pico SDK v1.5 Pico Setup Windows Install 05 Pico SDK v1.5 Pico Setup Windows Install 06

サンプルファイルの配置とビルドが始まります。

終わったら適当なキーを押して終了です。

 

Pico SDK v1.5 Pico Setup Windows Install 07

ドキュメントフォルダにサンプル類が配置されました。

 

Pico SDK v1.5 Pico Setup Windows Install 08

スタートメニュー内にはこのようなアプリが増えます。

(加えて、Visual Studio Codeもインストールされています)

基本的にはショートカットとなっていて、以下のようなコマンドが実行されるものになっています。

 

「Pico - Developer Command Prompt」

C:\Windows\system32\cmd.exe /k "C:\Program Files\Raspberry Pi\Pico SDK v1.5.1\pico-env.cmd"

「Pico - Developer PowerShell」

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoExit -ExecutionPolicy Bypass -File "C:\Program Files\Raspberry Pi\Pico SDK v1.5.1\pico-env.ps1"

「Pico - Visual Studio Code」

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\Program Files\Raspberry Pi\Pico SDK v1.5.1\pico-code.ps1"

 

Pico SDK v1.5 Pico Setup Windows Install 09

「Pico - Developer Command Prompt」ショートカットを見ればわかりますが、インストールフォルダ内のバッチファイルを実行し、環境変数を設定しているだけです。

そのため、「Pico - Developer Command Prompt」ショートカットを使用せずにコマンドプロンプトを立ち上げた場合でも、インストールフォルダ内のバッチファイルを実行すれば同様の環境になります。

毎回手間かと思われますが、個人的にはシステム環境変数のPathを汚すことなく使えるこの方法のほうが良いと思っています。

(コマンドを実行する際にPath環境変数に設定されたフォルダを探して実行していきます。そのため、無秩序に増やすとコマンド名が被って意図する方を実行できなかったり手間が増え、環境が汚れてしまいます)

 

サンプルのビルド

先程のインストール時にビルドも行われているため、必要ない操作ではありますが、ビルド方法の説明として再度ビルドを行ってみます。

スタートメニューより「Pico - Developer Command Prompt」を開く、もしくは先ほどの手順でコマンドプロンプトを起動し環境変数をセットしておきます。

公式では開発環境としてVisual Studio Codeを推奨していますし、実際にインストールもされますが、今回は使用せずにビルドを行います。

カスタマイズ性が高いところに人気があると思いますが、個人的にはGUIアプリとしてはUIや設定が雑然としすぎに見え、vimrcを育てるのと同じような煩雑なイメージを持ってしまっています。

C:\Program Files\Raspberry Pi\Pico SDK v1.5.1>cd "%PICO_examples_PATH%"
C:\Users\pcjpnet\Documents\Pico-v1.5.1\pico-examples>cd build
C:\Users\pcjpnet\Documents\Pico-v1.5.1\pico-examples\build>cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Debug --fresh
C:\Users\pcjpnet\Documents\Pico-v1.5.1\pico-examples\build>ninja

前述の通り、nmakeコマンドではなくninjaコマンドを使用します。

インストール時にbuildフォルダが出来てしまっているので、mkdir buildコマンドは実行せずに、cd buildでbuildフォルダに移動してしまいます。

これでサンプルファイル全てがビルドされるので、「C:\Users\(ユーザー名)\Documents\Pico-v1.5.1\pico-examples\build」フォルダ内に書き込み対象のファイルが完成しているはずです。

例えばBlinkプロジェクト「C:\Users\(ユーザー名)\Documents\Pico-v1.5.1\pico-examples\build\blink\blink.uf2」をUSB経由でRPI-RP2ドライブに書き込めばLEDが点滅すると思われます。

 

応用:Arduinoプロジェクトからもビルド出来るようにする

Arduinoからビルドを行うと、以下のような宣言が追加されるようです。

#define ARDUINO 10607
#define ARDUINO_ARCH_RP2040 1
#define ARDUINO_API_H 
#define ARDUINO_API_VERSION 10200
#define ARDUINO_GENERIC_RP2040 1
#define ARDUINO_VARIANT "generic"
#define __ARDUINO_STRINGS__ 
#define ARDUINO_PICO_VERSION_STR "3.9.3"
#define ARDUINO_PICO_MAJOR 3
#define ARDUINO_PICO_MINOR 9
#define ARDUINO_PICO_REVISION 3

Pico SDKでのビルドと比較すると、この宣言があるかどうかで処理を変えることが可能と思われます。

 

応用:GitHub Actionsでの自動ビルド