Help us understand the problem. What is going on with this article?

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

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のプログラムを入れて、使う事が出来ました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした