2
3

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.

nRF connect SDK:カスタム基板の追加

Last updated at Posted at 2021-10-14

カスタムボードの追加

nRF SDKではプロジェクトオプションでBOARD_CUSTOMと指定してcustom_board.hに設定を記述しますが、当然nRF connect SDKにもあります、というかないと困ります。仕事で基板を作っているのであれば評価ボードを使って実装するなんてまずありませんからね・・・。
なお、情報源はこちらです(英語)

カスタムボード情報を作る

前述のようにnRF SDKではプロジェクト内部にcustom_board.hがあればよかったのですが、nRF connect SDKではSDKとしてボード情報が必要になります。

既存ボードファイルのコピー

上記ページにも記載があるように自分のプロジェクトに一番近いボード情報をOS上でコピーします。
image.png
でもって名前を適当に変えてみます。ちなみにこのフォルダー名がそのままボード名になります。
image.png
ここで重要なルールが二つあります。まず一つは、ボードファイルはこのフォルダーに置く必要があるということ。Gitで管理しようと思って違うフォルダーに持っていくとコンフィギュレーションに失敗します。なんてこったい、こんなのGitで管理するのめんどくさいじゃないか!
もう一つはベンダー名を識別するための識別子をフォルダー名に入れる必要があるということ。標準でSDKに用意されているボード名にはNucleoやらnRF52840やらプロダクト・ベンダーが分かる名前が入っています。SDKを使うユーザーが使い易い(分かり易い)ようにそうしていると思っていたのですが、どうやらこれは使用するチップを識別するための識別子にもなっており、識別子がないとコンフィギュレーションが通りません。なお、識別子自体はフォルダー名のどこに含まれていてもかまいません。参考までにNordicの識別子はどうもnRF52(or nRF51 or nRF53 or nRF91)のようです。

フォルダーのパスは変更しない
ボード名には必ず識別子を入れる

さらにそのフォルダ下にある関連ファイルの名前をフォルダー名と同じ名前に変更します。
image.png
ここまでで一旦ファイル生成と名称変更は完了です。

CONFIG(#define)の変更

続いてファイルの中身に手を加えます。ボードの識別子になっているCONFIG_BOARD_NRF52840DK_NRF52840の名前を変更します。
image.png
GREPで検索してみると全部で4ヶ所存在しているみたいなのでこれを全部先ほどのボード名と同じ識別子にします。
image.png
全部書き換えていなくなりました。
image.png
さて、ここまでできたら登録完了です。Segger Embedded Studioに移ってOpen nRF connect SDK Projectでプロジェクトを開く画面を見てみると・・・。
image.png
ちゃんといますね。これで登録は完成です。
I/Oなどの機能を変更するにはDTSファイルの中身を変更します。これがまた非常にやっかいなのですが・・・。
image.png

2
3
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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?