今日こそ頑張ります

危機感を抱きつつ、怠けるエンジニア。日記や備忘録。(以前のブログ:http://harupanda.blog.jp/)

SEGGER Embedded Studio for ARM (V6.40)をインストール

続き。

SESのインストール

SEGGER Embedded Studio for ARM などのツールをインストールしました。
参考にさせていただいたページは下記。
shizuk.sakura.ne.jp

SESは以下からダウンロード。
SEGGER - The Embedded Experts - Downloads - Embedded Studio

nRF52のSDKを以下からダウンロード。
nRF5 SDK downloads - nordicsemi.com

J-linkのソフトは以下からダウンロード。
SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace

インストール自体はポチポチ押していくだけですね。
早速SDKのサンプルをビルドし、nRF52833-DK上でRunさせたいと思います。

まずはボードナンバーの確認から。
下記のページを参照します。
Nordic Semiconductor Infocenter

nRF52833-DKのボードは、PCA10110のようです。
Lチカサンプルの下記のプロジェクトを開きます。
nRF5_SDK_17.1.0_ddde560\examples\peripheral\blinky\pca10100e\blank\ses\blinky_pca10100e.emProject

なお、起動時に下記の画面が出て、ライセンスが見つからん、と言われます。

書いてある通り、非商用目的・教育目的であれば、このままAcceptをクリックで使い続けられますが
nRF52に対して使うのであれば、正式ライセンスが発行してもらえるので、せっかくなのでゲットします。
(毎回ライセンス確認画面が出てくるのも鬱陶しいですしね)
下の方にある"Obtain a License"をクリック。

ブラウザが立ち上がるので、下記の画面の"Request your license at..."のURLをクリック。

名前やメールアドレスを登録すると、登録したメアド宛にライセンスキーが届きます。
SES上のライセンスマネージャーにて、そのライセンスキーを登録すれば完了。

Buildエラーが出る。

早速、nRF52833_DK基板とPCをUSB(ちなみにJ2コネクタ側)で接続し、
blinky_pca10100e.emProjectをBuild&Debugしてみましたが、
下記のエラーに遭遇。

".text is larger than specified size" and ".rodata is larger than specified size".

なんでサンプルでエラーが出てくるねん・・・。

しかし何も心配はいりません。nRFを選択したもう一つの理由がここで活きます。
大概のトラブルは先人たちが解決し、Nordic Devzoneに答えを書いてくれているのです。

今回の問題も下記で解決しました。
(ただ、対処方法は書いてあるけど、根本原因の理解はできず・・・ですが)
Build error - Nordic Q&A - Nordic DevZone - Nordic DevZone

上記のページに書いてある通り、
nRF5_SDK_17.1.0_ddde560\examples\peripheral\blinky\pca10100e\blank\ses\flash_placement.xml
の記載をmodifyします。

下記の通り。

You should see:
ProgramSection alignment="4" load="Yes" name=".text" size="0x4" /
and
ProgramSection alignment="4" load="Yes" name=".rodata" size="0x4" /

Remove: size="0x4" from both lines resulting in:
ProgramSection alignment="4" load="Yes" name=".text" /
and
ProgramSection alignment="4" load="Yes" name=".rodata" /

https://devzone.nordicsemi.com/f/nordic-q-a/89236/build-error/374975より転載

これでコンパイルが通るようになりました。

続きは次回。