windows で zephyr 環境作って nRF52840 Dongle でLチカした道のり

もう2月になりましたが、あけましておめでとうございます。

今年もよろしくおねがいします。

新年一発目ということで積みマイコンの消化をしようと思い、nRF52840 Dongle に手を出してみました。

本記事では巷で流行っている Zephyr RTOS  を 闇深い windows 環境で作り nRF52840 Dongle を使って L チカしたことをメモがてらつらつらと書いていきます。

環境

  • Windows 10 64bit
  • nRF52840 Dongle
    いつの間にか家にありました。
  • scoop
    パッケージマネージャーです。
    mac でいう Homebrew のようなやつです。Zephyr 公式では chocoratory を使用して各種ソフトウェアをインストールしていますが、管理者権限が必要なのとアインストールにコケることがあるということで私は scoop を使いました。
    本記事では scoop についてあまり触れません。

zephyr 環境作ってゆく

2020/02/11現在の zephyr の公式ガイドを参考に作っていきます。

Install dependencies

scoop で必要なものをインストールしていきました。

python は 3.* であれば良いということなので宗教上の理由により 3.6 をインストールしました。

公式をみると上記の他に dtc-msys2 と gperf をインストールしています。

dtc-msys2 は、 別途インストールしなくても msys2  でインストールされているので別途インストールしなくても問題ありません。

chocoratory に記載されている dtc-myys2 の説明みると msys2 を通して dtc ( Device Tree Compiler ) 使うみたいなので、 msys2 をインストールするだけでおkです。

一応確認した結果を下記につけておきます。

gperf では、今回の nRF52840 Dongle で Lチカ をする道のりではなくても問題ありませんでした。

もしかしたら、ほかのサンプルを動かすときには必要になるかもしれません。

2020/02/11現在 において、gperf のパッケージは存在しないようです。

そのため、インストールできるように 独自のパッケージを作る必要があります。

(独自のパッケージ作る方法は、そのうち他の記事にまとめると思います)

あとは pip で west をインストールしました。

Get the source code

公式のようにつらつらと実行してゆけばよいです。

Install needed Python packages

zephyrproject\zephyr\scripts\requirements.txt にあるやつを pip でインストールしました。

Install Software Development Toolchain

GNU Arm Embedded Toolchain をインストールしました。

下記の URL を見ながらインストール。

ここはちょこっと躓いたので書いておきます。

2020/02/11時点において、インストールする GNU Arm Embedded Toolchain のバージョンはサイトに記載されている通り 7-2018-q2-update です。

9-2019-q4-major をインストールしたらビルドできませんでした👏。

環境変数に追加する path は2つです。

変数名 path
ZEPHYR_TOOLCHAIN_VARIANT gnuarmemb
GNUARMEMB_TOOLCHAIN_PATH Toolchain をインストールしたディレクトリ

Build the Blinky Application

公式に書いてあるとおりです。

zephyrproject/zephyr のディレクトリに入っている zephyr-env.cmd を実行

つぎにビルドです。

nRF52840 Dongle の Lチカは下記の URL に書いてあります。

予め pip で nrfutil をインストールをします。

これがないとプログラムを nRF52840 Dongle へ書き込むことができません。

あとは、Lチカのサンプルプログラムをビルド

path を間違えると下記のエラーがでます。

その場合は、ビルドを行うカレントディレクトリを確認するか、ビルドを対象の path を確認して再度実行してみてください。

nrfutil をつかって ブートローダのアプリケーションをパッケージ化します。

あとは、nRF52840 Dongle へ書き込み。

nRF52840 Dongle にあるリセットボタンを押しながらパソコンに差し込み、下記のコマンドを実行します。

※ COM ポートはデバイスマネージャーで確認してください。

書き込みが完了すると nRF52840 Dongle がチカチカします。

お疲れさまでした。

まとめ

windows 環境で nRF52840 Dongle を開発する環境をつくりました。

とりあえず Lチカできることを確認しました。

次回は zephyr に触れてみたいなぁと思ったり思っていなかったりしています。

本記事とはあまり関係ありませんが、 scoop を使った環境構築ホント楽です。

ででん大先生(@deden_twi) の本は大変わかりやすいのでぜひお買い求めください。
https://dedendendeden.booth.pm/items/1816949

参考

  • Getting Started Guide, zephyr, https://docs.zephyrproject.org/latest/getting_started/index.html
  • Zephyr環境構築(Windows), matsujirushi’s blog, http://matsujirushi.hatenablog.jp/entry/2019/12/26/220621
スポンサーリンク