まんま!の備忘録

ソフトウェア・ファームウェア・ハードウェア関連の備忘録

Raspberry Pi Pico(RP2040)でZephyr RTOSを動かす

RTOS(Real-time OS)である、Zephyr RTOSをPicoで動かしてみます。
www.zephyrproject.org

こちらを参考に進めます。
記載の手順と変えていて、環境は ~/develop/zephyrproject 配下に格納していきます。
docs.zephyrproject.org

Mac M1での作業なので、Mac OSの手順をメモしていきます。
Homebrewと依存パッケージは入っている前提で進めます。

環境の構築

Zephyr開発のワークスペースを作成します。

$ python -V
Python 3.12.3

$ python3 -m venv ~/develop/zephyrproject/.venv
$ cd ~/develop/zephyrproject
$ . ./.venv/bin/activate

Zephyrのインストール

エラー出る場合があるので、west コマンドに 「-v」 オプションを入れておきます。
2つ入れているのはverboseレベルを上げるためです。

$ pip install west
$ west -v -v init
$ west -v -v update

5GBくらいのデータをダウンロードするので、少し待ちます。

Zephyr CMake パッケージのエクスポート

これをすることで作成するアプリの CMakeLists.txt で 「find_packagefind_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})」とすると、Zephyr RTOSが使用できるようです。

$ west zephyr-export

依存関係のインストール

$ pip install -r zephyr/scripts/requirements.txt

SDKのインストール

$ curl -L -O https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.5-1/zephyr-sdk-0.16.5-1_macos-aarch64.tar.xz
$ curl -L https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.5-1/sha256.sum | shasum --check --ignore-missing
$ tar xvf zephyr-sdk-0.16.5-1_macos-aarch64.tar.xz
$ cd zephyr-sdk-0.16.5-1 
$ ./setup.sh
:
Install host tools [y/n]? y
Register Zephyr SDK CMake package [y/n]? y
:
$ cd ..

サンプルプロジェクトのビルド

ボード一覧を見てみます。

$ cd zephyr
$ west boards | sort
:
rpi_pico
:

LED点灯サンプルをビルドしてみます。
コマンドはこちら。
docs.zephyrproject.org

$ west build -b rpi_pico samples/basic/blinky

書き込み

「west flash」コマンドでもできるようですが、Picoprobeなどのデバッガーがないとできないので、ビルドしたファイルをコピーします。
Picoのボタンを押しながらPCに接続します。

$ cp build/zephyr/zephyr.uf2 /Volumes/RPI-RP2