1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Kconfigがオーバーレイできるようになった!

Posted at

拡張機能のアップデート

少し前のアップデート(おそらくnRF Connect SDK 2.7.0に正式対応したバージョン)で、Extra Kconfig fragmentsという項目が追加されました。端的に説明すると、Kconfigのオーバーレイです。
image.png

ビルドパターンを分ける

今までできなかったのかって?ええ、(それっぽい感じには)できなかったんですよ!!!
よくあるのはリリースビルドとデバッグビルドですよね。リリースビルドにはログ出力なんて要らないし、FOTAも有効にしておきたい。でもデバッグビルドではログ出力も必要だし、FOTAはmcubootをビルドする分だけ余分に時間がかかるからデバッグしているときは組み込みたくない。
なんか当たり前のことを言っているようですが、これができなかったんですよ。今までどうやってやっていたかと言うと、
image.png
こんな感じにデバッグビルドやエミュレータービルドの.confファイルを作って対応していました。このやり方の欠点はKconfigを変更した場合に全部の.confファイルを忘れずに変更しないといけないという点です。
WinMerge大活躍でした(笑)
何度も何度も全部のプロジェクトファイルをWinMergeで比較して眺めていました。

これが本来あるべき形でしょ!

prj.confはリリースビルドで使う機能が記載されていて、そこにデバッグ時にのみ使う機能や、デバッグ時には組み込みたくない機能を殺す形でデバッグビルド用のオーバーレイを作れるようになりました。
image.png
実際のデバッグビルド用のオーバーレイはこんな感じになるのではないでしょうか。

dubug_overlay.conf
CONFIG_BOOTLOADER_MCUBOOT=n
CONFIG_DISABLE_FLASH_PATCH=n
CONFIG_DK_LIBRARY_LOG_LEVEL_OFF=y
CONFIG_USE_SEGGER_RTT=y
CONFIG_FLASH=y
CONFIG_WATCHDOG=n
CONFIG_TASK_WDT=n
CONFIG_LOG=y
CONFIG_LOG_PROCESS_THREAD_SLEEP_MS=100
CONFIG_FLASH_MAP=y
CONFIG_STREAM_FLASH=y

これでリリースビルドのみ設定を反映し忘れた!みたいなことはなくなりそうです。うぇーい!

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?