「Raspberry Pi Pico W」のC/C++開発環境を作る時、ここの"getting started"を見ながら構築していくと思う。
「Chapter 9. Building on other platforms」の「9.2. Building on MS Windows」に、「Windows Pico Installer」が準備され、とても環境構築が楽になったのだが、VS codeを立ち上げるのも、Raspberry Pi Pico SDK から立ち上げなければならなかったり、なんとなく不満。
さらに、「Pico W」だと、「-DPICO_BOARD=pico_w」をつけてcmakeしなければならないのだが、VS Codeでポチっとやりたいのに、そうもいかない。(やり方あるのかもしれないが、、、)
そもそも、「Pico W」は付いているLEDのポートが「Pico」と違うので、最初のLチカでつまずいた。。orz
さらに、「pico-examples」がやたらと大きい。いろんなものがパッケージ化されているからなのだが、じゃあ独自のプロジェクトを作る時はどうすればいいんだよ!って。
そんな、しょうもない不満を持っている方に向けて本記事を書いてみた。
ゴールとしては、「VS Codeを立ち上げてコンパイルできる、最低限(?)必要な組み合わせを提供する」ことである。
インストール
"getting started"の「Chapter 9. Building on other platforms」の「9.2. Building on MS Windows」に従い、「Windows Pico Installer」をインストールする。
サンプルプロジェクト
「pico-examples」の中にある、「pico w」向けLチカコードをコンパイルするプロジェクトを作成してみる。フォルダやファイルは以下のように配置していることを想定。Githubに自分が作ったものを置いておく。
pico_w-example-blink/
├─ CMakeLists.txt
├─ pico_sdk_import.cmake
└─ src/
├─ CMakeLists.txt
└─ picow_blink.c
pico-sdk/
CMakeLists
「-DPICO_BOARD=pico_w」やら、「setx PICO_SDK_PATH "....\pico-sdk"」は、CMakeListsでsetを使って定義すれば解決できることが分かった。
ぶっちゃけ、設定で特筆すべきことはこれだけ。
cmake_minimum_required(VERSION 3.12)
# ここがポイント
set(PICO_SDK_PATH "C:/Program Files/Raspberry Pi/Pico SDK v1.5.0/pico-sdk")
set(PICO_BOARD "pico_w")
# Pull in SDK (must be before project)
include(pico_sdk_import.cmake)
# set the project name
project(picow_blink)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
# Initialize the SDK
pico_sdk_init()
# Subdirectory
add_subdirectory(src)
add_executable(picow_blink
picow_blink.c
)
target_link_libraries(picow_blink
pico_stdlib # for core functionality
pico_cyw43_arch_none # we need Wifi to access the GPIO, but we don't need anything else
)
# enable usb output, disable uart output
pico_enable_stdio_usb(picow_blink 1)
pico_enable_stdio_uart(picow_blink 0)
# create map/bin/hex file etc.
pico_add_extra_outputs(picow_blink)
コンパイル
VS CodeのExtensionsで、「CMake」あたりをインストールしてあれば、VS Codeの下のバーがこんな感じになっていると思われる。
「スパナマーク(?)」を押して、使うコンパイラを設定する。「GCC 10.3.1 arm-none-eabi」を設定する。「Scan for kits」をすれば出てくるはず。
コンパイルするには、その横にある「ギア(?)Build」を押せばOK。
まとめ
CMAKEファイルに、
set(PICO_SDK_PATH "C:/Program Files/Raspberry Pi/Pico SDK v1.5.0/pico-sdk")
set(PICO_BOARD "pico_w")
を書いてあげると、マニュアルに書いてある「Pico - Visual Studio Code」ショートカットをでVScodeを立ち上げなくてもコンパイルできた。
満足