🔖

Windows用 RaspberryPi Pico コンパイル環境(C言語)の作り方

2022/07/27に公開約4,700字2件のコメント

更新履歴

  • update 2022/10/03 : msys、Windowsのcmdのどちらを使うのかわかりにくい個所を修正

■これは?


Windows10でRaspberryPi Pico用の開発環境を作るメモです。
Windowsのコマンドウィンドウから実行可能な以下のソフトをインストールして、 pico-sdkと、pico-examples の blink(Lチカ)がコンパイル、動作確認までできることを目指します。

  • ARM用コンパイラ
  • CMake
  • MSYS2(以下を追加インストール)
    • make
    • Python
    • git

●インストール時のフォルダ構成

この説明では、RaspberryPi Pico(とか、マイコン用)に使用するツール類は、Cドライブ直下に DevTool フォルダを作成してインストールします。(C:\Program Files にはインストールしません)

■ソフトのインストール

基本的には公式のpdf「Getting started with Raspberry Pi Pico: C/C++ development」の手順に従います。
pdfは下記のURLを開いて、真ん中くらいまでスクロールしたあたりにある Documents の Getting started with Raspberry Pi Pico: C/C++ development をクリックします。
https://www.raspberrypi.com/products/raspberry-pi-pico/

pdfの Chapter 9. Building on other platforms の Windows の手順を参照してください。
pdfの説明では、以下の内容をインストールしますが、この説明では、※の部分をMSYS2でインストールします。

  • Arm GNU Toolchain
  • CMake
  • Build Tools for Visual Studio 2022 ※
  • Python 3.10 ※
  • Git ※

●ARM用コンパイラをインストール

ARM用コンパイラをダウンロードします。

●CMakeをインストール

CMakeをダウンロード、インストールします。
(cmake-3.24.0-rc3-windows-x86_64.msi を使いました。)
インストール時の変更箇所

●MSYS2をインストール

MSYS2をダウンロード、インストールします。
(msys2-x86_64-20220603.exe を使いました。)
インストール時の変更箇所

●Python、make、gitをインストール

MSYS2のコンソールを起動して追加インストールします。

MSYS2のコンソールで以下を順番に実行してください。

pacman -Syu
pacman -S base-devel
pacman -S mingw-w64-x86_64-toolchain
pacman -S git
pacman -S make

■バッチファイルの作成

インストールしたCMake、MSYS2、ARM用コンパイラのプログラムが起動できるようにバッチファイルをエディタ等で作成します。
pico-sdkコンパイル用の設定も含んでいます。

setPath.bat
set CMAKE_ROOT = C:\DevTool\tool\CMake\bin\
set PICO_SDK_PATH = ..\..\pico-sdk
set CMAKE_C_COMPILER = C:\DevTool\arm\gnu\bin\arm-none-eabi-gcc
set CMAKE_CXX_COMPILER = C:\DevTool\arm\gnu\bin\arm-none-eabi-g++.exe
PATH = C:\DevTool\arm\gnu\arm-none-eabi\bin;C:\DevTool\arm\gnu\bin;C:\DevTool\tool\CMake\bin;C:\DevTool\tool\msys64\mingw64\bin;C:\DevTool\tool\msys64\usr\bin;%PATH%;

■pico-sdkとpico-examplesのダウンロード

まずは、pico-sdkとpico-examplesをgitで取得するためのフォルダを作成します。
フォルダの作成は、Windowsのコマンドウィンドウまたはエクスプローラーで、Cドライブ直下にwork-picoフォルダを作成します。
あらかじめ作っておいたバッチファイルをエクスプローラー等でコピーします。


(例では、Windowsのコマンドウィンドウでフォルダを作り、前項目で作成したバッチファイルをエクスプローラーでコピー)

●pico-sdk取得

Windowsのコマンドウィンドウで以下を順番に実行してください。

git clone -b master https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk
git submodule update --init
cd ..

●pico-examples取得

前項目で使用したWindowsのコマンドウィンドウで以下を実行してください。

git clone -b master https://github.com/raspberrypi/pico-examples.git

この時点で、以下の様なフォルダ構成になっていることを確認します。

■pico-sdkとpico-examplesのコンパイル

(前項目のWindowsのコマンドウィンドウを閉じないで実行する場合は以下のsetPath.batの実行操作は不要です)
Windowsのコマンドウィンドウで work-pico フォルダに移動して、setPath.batを実行してください。

Windowsのコマンドウィンドウで pico-examples フォルダに移動して、以下のコマンドを実行してください。(setPath.batでうまくパスが設定されていればmakeコマンド以降は添付のWindowsのコマンドウィンドウのようにコンパイルが進みます。)

cd pico-examples
mkdir build
cd build
cmake -G "MSYS Makefiles" ..
make

●cmake -G "MSYS Makefiles" ..コマンド入力以降の画面が以下になります。

●makeコマンド入力以降の画面が以下になります。

■動作確認

blink.uf2をRaspberryPi Picoに書き込み、LEDが点滅したら完了です。

Discussion

#windows側か、msys側かで悩みました
記事をありがとうございます。でも 最終的な cmake -G "MSYS Makefiles" .. と make は windows の cmd ウインドウの上で行うのですね。 msys側で行っていて、動かないなと悩んでました。
とは言え、今は なぜか、-- Configuring incomplete, errors occurred! で怒られています。
もう少し悩んでみます。

こんにちは。
手順で分かりにくい部分のご指摘ありがとうございます。
msysなのか、cmdなのか解るように修正しようと思います。
結構ややこしい構成になってしまったのは、nmakeを使いたく無かったという点です。

一度cmakeを動かした後は、一度buildフォルダの中を消して再実行するとうまくいくことがあります。

エラーに関しては現時点でなんとも…なところがありますので、こちらでも再度掲載の手順をやり直して問題がない確認します。(自分用のメモですので自分ができないと困ってしまうのです。)

ログインするとコメントできます