westを使ったZephyrプロジェクトの管理
はじめに
Zephyr 1.14からwestというメタツールが公式なツールになりました。
面倒ですがさらっと使っておきましょう。
ソースコードやドキュメントは、できるだけ1.14を参照するようにします。 Zephyr 1.14はLTSという位置づけで、2年間はセキュリティアップデートが保証されます。
Getting Started
SDKのバージョンが更新されており、古いSDKではビルドできないので、新しいものをインストールします。
wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.10.0/zephyr-sdk-0.10.0-setup.run cd <sdk download directory> sh zephyr-sdk-0.10.0-setup.run
$ cat ~/.zephyrrc export ZEPHYR_TOOLCHAIN_VARIANT=zephyr export ZEPHYR_SDK_INSTALL_DIR="/opt/zephyr-sdk"
次に、westのインストールです。
pip3 install --user west
westを使ってZephyr(と関連ツール)レポジトリを取得します。
west init zephyrproject cd zephyrproject west update $ ls modules net-tools zephyr
Zephyrのversionを指定する場合は、init時に指定します。
west init -m https://github.com/zephyrproject-rtos/zephyr --mr v1.14.0 zephyrproject cd zephyrproject west update
ビルド
westを使ってビルドしてみます。
$ west -v build -b nrf52840_pca10056 samples/hello_world $ ls build/ app CMakeFiles rules.ninja zephyr_modules.txt build.ninja cmake_install.cmake tinycbor CMakeCache.txt Kconfig.modules zephyr
なるほど、これでビルドできるようです。
デフォルトのターゲットを設定することもできます。
west config build.board nrf52840_pca10056
$ west build samples/hello_world/ ERROR: this looks like a new or clean build, please provide --board FATAL ERROR: refusing to proceed without --force due to above error
あれぇ〜、ダメじゃん?
デバッグ
JLinkデバッガのラッパーコマンドもあります。
west debug --runner jlink west debugserver --runner jlink