はじめに
Raspberry Pi Picoを入手したのでWindows10でプログラムを作成して動作させることができるように開発環境を構築していきたいと思います。
価格:807円 |
基本的には、データシートGetting started with Raspberry Pi Picoの9.2 Building on MS Windowsに書かれている内容に沿って行っていきます。
https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf
Toolchainのインストール
Raspberry Pi Picoのプログラムをビルドするために次のツールチェインをインストールします。
上のリンクから5つのパッケージのインストーラをそれぞれダウンロードしてインストールしていきます。
ARM GCC Compilerのインストール
ARM Developerサイトから次のzipファイルをダウンロードします。
gcc-arm-none-eabi-10.3-2021.10-win32.exe
ダウンロードした実行ファイルを開きます。実行権限がないと表示される場合は、管理者として実行します。
セットアップ完了時にチェックボックス「Add path to environment variable」にチェックを追加して完了をクリックします。
CMakeのインストール
CMakeページより次のファイルをダウンロードします。
システムパスの設定では、すべてのユーザーにチェックをしてインストールを進めます。
この記事を作成している時点での最新版v3.22.0で試したところ、ビルド時に次のようなエラーが出ました。
AR10B2~1.EXE: error: ・ソCMakeFiles/blink.dir/blink.c.obj: No such file or directory
CMakeは古いバージョンをインストールする必要があるようです。
v3.20.6で試したところビルドが通りました。
Visual Studio 2019のインストール
ビルドツールとなるVisual Studioをインストールします。
必要となるものは、C++ build toolsのみになります。
ここでは、すでにインストール済みだったので、C++のインストール内容を確認しました。
この状態で特に変更はないので、終了とします。
Python3.10.0のインストール
2021年10月28日現在でpythonは3.10.0が最新となっていました。
インストーラを起動して、インストール作業を進めます。
セットアップウィザードで、Pythonへのパスを通すため、Add Python 3.10 to PATHにチェックを入れてインストールを開始します。
セットアップが正常終了するとMAX_PATHの長さの制限を無効にするかの設定ができます。ここでは、長さの制限を無効にします。
Gitのインストール
インストーラーをダウンロードしてセットアップウィザードに従ってGitをインストールしていきます。
ここでは、すでにGitがPC上にインストールされていたため、新しいオプションのインストール選択画面になっていますが、初めてインストールする場合は、デフォルトエディタの選択があるので、vimから使用するエディタに変更する必要があります。
SDKとサンプルプログラムのダウンロード
Git CMDを起動します。cdコマンドで作業フォルダに移動します。
ここでは、作業フォルダをC:\prog\pico\DLとしています。
pico-sdkをダウンロードします。
C:\prog\pico\DL>git clone -b master https://github.com/raspberrypi/pico-sdk.git
ダウンロードするとpico-sdkフォルダができるのでカレントディレクトリをpico-sdkに移します。
その状態で次のコマンドを実行します。
C:\prog\pico\DL\pico-sdk>git submodule update --init
サブモジュールについては、こちら。
作業フォルダを元に戻して、pico-examplesをダウンロードします。
”Hello World”サンプルプログラムのビルド
WindowsメニューからVisual Studio2019のDeveloper Command Promptを選択し、起動します。
cdコマンドにて作業フォルダC:\prog\pico\DLに移動して、次のコマンドを実行し、パスを設定します。
C:\prog\pico\DL>setx PICO_SDK_PATH "..\..\pico-sdk"
設定できたら一度コマンドプロンプトを閉じて、再度、起動すると設定が反映されます。
pico-examplesフォルダの「Hello World」プログラム例をビルドするには、次のようにします。
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>cd C:\prog\pico\DL
C:\prog\pico\DL>cd pico-examples
C:\prog\pico\DL\pico-examples>mkdir build
C:\prog\pico\DL\pico-examples>cd build
C:\prog\pico\DL\pico-examples\build>cmake -G "NMake Makefiles" ..
続いて次のコマンドを実行します。
C:\prog\pico\DL\pico-examples\build>nmake
これによりターゲットをビルドします。ビルド処理に時間がかかります。
ビルドが正常すると、ELF,bin,uf2形式のターゲットが生成されます。buildディレクトリの中にあるhello_worldディレクトリのserial及びusbディレクトリにこれらのターゲットが作られます。UF2バイナリはPCとUSB接続したRP2040ボード上に直接ドラッグアンドドロップすることができます。
Visual Studio Codeからビルドする方法
Visual Studio CodeをインストールするとコマンドラインからビルドせずにVisual Studio Codeの中でビルドを行うことができます。まずは、以下からVisual Studio Codeをダウンロードしてインストールします。
インストール後、 Visual Studio2019のDeveloper Command Promptを起動し次のコマンドを実行するとVisual Studio Codeが起動します。
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>code
スタートメニューやデスクトップアイコンからVisual Studio Codeを起動することはできますが、ビルド環境が正しく設定されない可能性があり、Developer Command Promptから起動するやり方が最も簡単なやり方となっています。
ここで、Cmakeの拡張機能をインストールする必要があります。
Visual Studio Codeの左側の縦に並んだアイコンの中にある拡張機能のアイコンをクリックします。
検索窓に「CMake Tools」と入力すると拡張プログラムが表示されるので、インストールします。
インストールが完了したら左側の縦に並んだアイコンの一番下にある設定アイコンをクリックしてCMakeの設定を行います。
拡張機能設定の中のCMake Toolsを開きます。その中にあるCmake:Configure Environmentという項目にキーと値を入力します。キーには、「PICO_SDK_PATH」、値には「..\..\pico-sdk」と入力してOKを押します。
続けてもう一か所だけ変更します。Cmake:Generatorの項目に使用するジェネレータを登録します。
「NMake Makefiles」と入力して設定を終了します。
Visual Studio Codeの左側の縦に並んだアイコンの一番上にあるエクスプローラからPICO-EXAMPLESプロジェクトを開きます。Visual Studio Code一番下の青色欄にあるコンパイラ設定を「GCC10.3.1arm-none-eabi」にセットしてその横にあるBuildボタンを押します。
すると出力欄にビルド状況が表示されると思います。しばらくするとビルドが完了します。
実行結果
Hello Worldサンプルプログラムを実行してみます。
ビルド後、実行ファイルは、pico-examples/build\hello_worldフォルダの中に作成されています。ここでは、Raspberry Pi PicoをPCとUSBで接続して実行ファイルを転送します。
USB経由の実行ファイルはusbフォルダ内にあるhello_usb.uf2になります。
このファイルを接続したRaspberry Pi Picoにドラッグアンドドロップで転送します。
Tera Termを起動し、USB接続しているCOMポートでオープンすると実行されていることが確認できます。
まとめ
Raspberry Pi PicoをWindows10環境でビルドする方法を書いてきました。
ビルドはVisual Studio 2019のコマンドプロンプトを使うやり方とVisual Studio Codeを使うやり方があります。どちらの方法でもできるように環境を整えました。
ビルドファイルをターゲットボードであるRaspberry Pi Picoにhello Worldサンプルプログラムを書き込んで実行した結果をTera Termで確認しました。
コメント