二年前、Nordic Semiconductor社のBluetoothマイコン: nRF52832 のプログラムを作成しました。国内メーカのBluetoothマイコンより安価で多機能、豊富なライブラリ、処理スペックも上で弊方の中では高評価でした。(ただし情報が全て英語にはなってしまいますが、、、) 今回新しい企画でBluetooth通信を行うため、上位マイコンnRF52840 を選定しました。こちら Long Range に対応しており離れた車両と通信接続時間の長さ期待できます。 2年前とは手順も増えて複雑、違いも大きかったのでその覚え書きです。基板は nRF52840 DK を使います。
はじめに:SEGGERが使えなくなった
2年前は、汎用の組込み用IDE: SEGGER (セッジャーと呼びます、セッガーかもしれません) のNordic Version 5.60 が使えていました。現在Version 5.68としてここで配布はされていますが、以下のようには、エラーが出たり、ライセンス発行画面が真っ白です。
WEB上の一般記事に、VS Code + Nordic Extension のみになったと記載がありました。
はじめに:Pythonは指定エディションを使う
環境セットアップには python が必要です。指定されたエディションを使う必要があるようです。少なくとも Microsoft Store で配布しているものは以下エラーが出ました。
はじめに: その他
DevZone : ユーザ登録システム、登録しましたが、ログインしてなくてもインストールは可能でした。
Zephyr : 標準ライブラリ?
構築手順
基本は以下のとおりですが、公式手順を見ると、どこまでが自動でどこが手動か分かりにくいです。弊方では一部エラーが出ていたため手入力でも一通り実施しました。
1. J-Link (PCとマイコンと接続するためのインターフェイス ) は nRF Connet SDK でインストールされるため事前インストールは不要。
2.VS Code のインストール。最新でOK。
3. nRF Connet Desktop をインストール。
4. nRF Connet Desktop からnRF Connet SDK をインストール。この時、VS Code の未インストールだと進めません。v2.7.0は以下のエラーが発生、v2.6.2をインストール。なお2年前とくらべ SEGGER のインストールメニューは消えています。
5. nRF Connet Desktop からnRF Command LineTool をインストールを促され、ダウンロードベージに飛ぶので、D/Lしてインストールします。後から入れてもOK。
6. chocolatey というWindow用のパッケージマネージャをインストールします。まずnuget.exe (Visual Studio用機能追加の仕組みのコマンドライン版)をダウンロードし、以下のコマンドをたたきます。
7. chocolatey を用いて、python など必要パッケージをインストールします。何なのかは理解していません。
※ phtyon は、nRF Connet SDK で自動で以下にインストールされている模様。今回は公式手順どおりに、chocolatey で入れたものを使用しました。
8.python の pip3 を用いて、指定されたパッケージをインストール。以下コマンドラインシーケンスです。
9.ARM 用gccをダウンロードして、指定場所に配置。弊方は配置自由度のあるzip版を選択。
10.Windows上で、gccのパスを通す。
11.VS Code に Nordic 用Extensionを追加します。nRF Connect For VS Code Extension Pack でまとめられています。それを開いて追加します。
以上、たいへんな長旅でした。
初期Project作成
1.VS Code に左ペインの nRF Connet アイコンを選択し、現れるツリーからProjectを作成します。
2.以下のようにProject名を入力。
3.APPLICATIONのツリーから、Build構成以下のように生成します。
4.生成されたProject全体の様子は以下のとおりでした。2年前 nRF52832 で SEGGER で作成したコードを流用しようと考えていましが、ライブラリの構成が全くちがうように見えます。
今回の対応
今回はプロトで過去のHowToを流用して手早く準備したい。ゆくゆくは製品化時に最新化することとし、既存のSEGGERにて nRF52832 の.Project file を、nRF52840 の.Project file に手動マージし対処しました。
SAMPLEコードのnRF52840 のセットをマージします。
SEGGERでビルドして、nRF52840 DK基板のスイッチを以下のように変更し、USB接続し、J-Linkが現れるのを確認します。
SEGGERで以下のように J-Link と接続します。
以下のようにデバックを開始します。ターゲット基板への手動ダウンロードは必要ありません。(行った方がなにかおかしな状態になる)
今回はBuletoothマスター側なので、Android端末でペアリング検索してみます。うまくいきました。
SEGGERで以下のメッセージがでましたが、取り急ぎそのまま続行して問題なかったです。
以上です。Nordicマイコンの使い方でお困りの方、急いで動かしたい方は、ぜひこちらよりご相談ください。