nRF52マイコンの開発環境構築 (Segger Embedded Studio)

Segger Embedded Studioのインストール

下記からEmbedded Studio for ARMをダウンロードしてインストールする。

必要なら下記から J-Link Software and Documentation pack をダウンロードしてインストールする。
(自分の環境では 必要なかった。すでにJ-Linkのソフトがインストールされていたためか。)

Segger Embedded Studioのライセンス認証

  • Segger Embedded Studio (以下、SES) を起動すると、「商用ライセンスが見つからない」という旨の画面が表示される。

  

  • 非商用または教育目的での使用であれば、「Accept」をクリックして使用できる。
  • nRF5xマイコンでの使用であれば、無料の商用ライセンスを取得できる。
    • 上記画面の「Obtain a License」をクリック。
    • 「5. Free commercial-use license」をクリック。
    • https://license.segger.com/Nordic.cgi をクリック。
    • 氏名、会社名、メールアドレス、MACアドレスを入力する。
    • MACアドレスは、SESの「Tools」>「License Manager」>「Diagnose Problems」から確認。
    • 今現在ネット接続に使用しているネットワークアダプタMACアドレスをコピペする。
    • 「Request License」をクリックすると、ライセンスが発行されてメールが届く。
    • 「License_SES_C」から始まる文字列がアクティベーションキー。
    • SESの「Tools」>「License Manager」>「Activate SEGGER Embedded Studio」をクリック。
    • アクティベーションキーをコピペして、「Install License」をクリック。

nRF5 SDKのインストール

下記からnRF5 SDKをダウンロードして解凍し、適当なディレクトリに配置する。

まずはLチカ

  • まずはLチカのサンプルコードをビルドして、DKボードでデバッグ実行してみる。
  • ここでは nRF52833 DKボード (PCA10100) を使うものとする。
  • Lチカのサンプルコードは SDKディレクトリの下の examples/peripheral/blinky にある。
  • SESのプロジェクトはその下の (DKボード名)/blank/ses にある。
  • blinky_(DKボード名).emProject がプロジェクトファイルなので、これをSESで開く。
  • 「Build」>「Build (DKボード名)」でビルド。 (※)
  • DKボードをUSBケーブルでPCに接続し、「Debug」>「Go」でデバッグ実行開始。
  • DKボード上の4つのLEDが順に点滅する。
  • ブレークポイントやステップ実行、変数のウォッチなどの使い方を確認する。(だいたい見れば分かる)

※ ビルド時のエラー

  • 「.text is larger than specified size」や「.rodata is larger than specified size」というエラー。
  • どうもリンカ設定ファイルの不備のようだ。
  • リンカ設定ファイルはプロジェクトファイルと同じディレクトリにあるflash_placement.xml
  • 「name=".text" size="0x4"」の「size="0x4"」をとりあえず削除。(本来は適切に設定すべき)
  • 「name=".rodata" size="0x4"」の「size="0x4"」をとりあえず削除。(本来は適切に設定すべき)

参考