6
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Nordic nRF5340 PDKを使おう ~nRF Connect SDKをインストールしてSegger Embedded StudioでZephyr OSを使おう~

Last updated at Posted at 2019-12-19

Nordic nRF5340を使おう インプレッションの続きです。
https://qiita.com/usashirou/items/860d99b6db5d992fe595

##nRF5340を使用するには?
nRF5340では、SDKが公開されないことが発表されています。
使用するには、nRF Connect SDKを使用するようにとのことです。

まずは、nRF Connect SDKをインストールしていきましょう。

##Nordic公式チュートリアル
Nordicの公式チュートリアルはこちらです。
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/index.html
##Zephyr Project Documentation
https://docs.zephyrproject.org/latest/boards/arm/nrf5340_dk_nrf5340/doc/index.html

##nRF Connect SDKをインストール
nRF Connect SDKをインストールして、Getting Started Assistantを起動させます

###nRF Connect SDK
https://www.nordicsemi.com/Software-and-tools/Software/nRF-Connect-SDK

##Getting Started Assistantをセッティング
コンパイルするプログラムはGithubにあります。
https://github.com/NordicPlayground/fw-nrfconnect-nrf
Getting Started AssistantはGithubのリポジトリをコピーし、ツールチェーンを確認するために存在しており
使用しなくても問題ありません。

起動してみましょう。
image.png

*Getting Started AssistantのVariablesは変更する必要はありません。

nRF Connect SDKを起動していきなり全部確認してねと言ってもダメだよと言われるので一個一個インストールしていきます。
setup-1.jpg

Windows10で説明します。
コマンドプロンプトを起動します。
コマンドプロンプトは検索でcmdと打つことで出てきます。
管理者権限で起動するようにしてください。(管理者でないとインストールできません)
image.png

赤枠で囲っているプログラムを一個一個コピーして、実行します。
image.png

###GNU ARM Embedded toolchain
GNU ARM Embedded toolchainは
c:\gnuarmemb
にインストールしましょう。
これは後でかなり痛い思いをすることになるので要注意です
(いろいろなコンパイラーを使っていると、インストールしているフォルダがいっぱいあるケースもあるので要注意です)

次に2のClone the nRF Connect SDKを設定します。
image.png

pip3 install westまで実行したら、コマンドプロンプトを一般モードで起動します。
管理者モードで起動するとエラーになります。
右が一般モード、左が管理者モードです。
setup3-1.jpg

###Githubからプログラムをコピーする
コードは以下に変更しています。
c:\ncsにGithubの中身をコピーしています。
*git checkout ncs_tagはエラーになります。
以下からリリースタグを取ってきました。(別に無くても問題ないです)
https://github.com/NordicPlayground/fw-nrfconnect-nrf/releases

cd c:\
mkdir ncs
cd ncs
west init -m https://github.com/NordicPlayground/fw-nrfconnect-nrf
west update

cd c:\ncs\nrf
git checkout ncs_tag
west update

cd c:\ncs
pip3 install -r zephyr\scripts\requirements.txt
pip3 install -r nrf\scripts\requirements.txt
pip3 install -r mcuboot\scripts\requirements.txt

sourcecode_rootを変更しています。
image.png
ncs_tagは先ほど持ってきたリリースタグを入力します。

##SEGGER Embedded Studioをインストール
SEGGER Embedded Studioをインストールします。
今回は、指定のURLからダウンロードして以下に置きました。
C:\Program Files\SEGGER\arm_segger_embedded_studio_v430c_win_x64_nordic

##SEGGER Embedded Studioをセッティングする
私の起動パスはこちら
C:\Program Files\SEGGER\arm_segger_embedded_studio_v430c_win_x64_nordic\bin\emStudio.exe
ショートカットを作っても良いと思います。
Tools⇒Optins
image.png
nRF Connectを開きます。
image.png

・GNU Arm Embedded Toolchain Directory
c:\gnuarmemb
標準)C:/Program Files (x86)/GNU Tools ARM Embedded/XXXXX
XXXXXはバージョン
EX)C:/Program Files (x86)/GNU Tools ARM Embedded/8 2019-q3-update
・Zephy
C:\ncs\zephyr
・CMake Executable
EX)C:/Program Files/CMake/bin/cmake.exe

Open nRF Connect SDK Project

次にプロジェクトを設定していきましょう。
いろいろやっている中でエラーが多発しているので動く構成を紹介します。

File⇒Open nRF Connect SDK Projectをクリック
image.png

image.png

・CMakeLists.txt
C:/ncs/zephyr/samples/basic/blinky/CMakeLists.txt
・Board Directory
C:/ncs/zephyr/boards/arm/nrf5340_dk_nrf5340
・Board Name
nrf5340_dk_nrf5340_cpuapp

nrf5340_dk_nrf5340_cpuapp:アプリケーション部
nrf5340_dk_nrf5340_cpuappns:セキュリティ無し
nrf5340_dk_nrf5340_cpunet :ネットワーク部
・Build Directory
C:/ncs/zephyr/samples/basic/blinky/build_nrf5340_dk_nrf5340_cpuapp

CleanBuild Directoryをチェックする必要があります。

ここで指定するCMakeLists.txtは実行したいプロジェクトになります。
BeaconだったりBlinkyだったりといった実行したいプロジェクトのCmake.txtを選択します。
**Boardはnrf5340_dk_nrf5340_cpuappをセキュリティありを指定するようにとなっていますが、
今後は、セキュリティ無しのcpuappnsを選択することも可能になるようです。

image.png

うまくいくとこんな画面が出て起動します。
setup8-2.jpg
これでビルドできるはずです。
setup9-2.jpg

###Cannot start "cmake"
Cannot start "cmake"と出る場合は、CMake ExecutableはCmakeのインストール先を指定します。
Tools⇒Optins⇒nRF Connect
EX)C:/Program Files/CMake/bin/cmake.exe
setup6-6-3.jpg

###can't load project file
The reported error is 'solution load command failed (-1)'

こんなエラーが出るケースがあります。
image.png
いくつかのプロジェクトで発生しており、二進も三進もいかないです。
無理やり通したのが以下です。
直ると良いのですが・・・
image.png

##J-Linkのセッティング
Open nRF Connect SDK Projectの設定が終了し、Cmakeが通ったらビルドできるのですが、
現段階ではnRF5340のJ-Linkのセッティングデータが入っていないために追加する必要がるようです。
以下を参照しましょう。
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_nrf5340.html

まずは、 J-Link Software and Documentation Packをダウンロードしましょう。
image.png
ライセンスを確認して、ダウンロードします。
image.png
以下は適宜進めていきます。
image.png
image.png
image.png
image.png
image.png
image.png

##Optionsの設定
続いて、ちょっと面倒な設定をしていきます。
プロジェクトツリーのトップで右クリップ⇒Optionsを選択します。
image.png
Debug⇒Debuggerを選択し、TargerDeviceを設定します。
image.png
資料はnrf9160を選択して、nrf5340とありますが、直接nRF5340_xxAA_APPを選択して問題ありません。
image.png
nRF5340_xxAA_APPを確認してOKをクリックします。
image.png

この状態で、Debugをすればコンパイルが通ると思います。
(私は、なぜか、1度目が、エラーになり、2度目が通ります)
setup13-4.jpg
この画面が一瞬表示されれば起動されます。
image.png
無事起動します
TeraTermに起動した旨が表示されます(すべてではありません)
Bluetoothで接続するとConnectedと表示されます。
setup14-2.jpg

以上でnRF5340にZephyのプログラムを入れて、使う事が出来ました。

6
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?