DevAcademy “Adding custom board support” (3)

2024/07/24

引き続き DevAcademy IntermediateのAdding custom board supportを見ていく。


Exercise 1 – Custom board for single-core SoC

スルーしようかと思っていたが Exercise 2 は既にある board 定義をコピーして改造するようになっていたので、一から作るこちらも見ておくことにした。

Exercise 1 の最初に「Important」としてこんなことが書かれていた。

This exercise assumes you have installed the latest nRF Connect for the VS Code extension pack (>= Version 2024.2.214).

いま(2024/07/23)の時点でnRF Connect for VS Code Extension Packの最新版は 2023.11.3 になっている。 ExtensionではないnRF Connect for VS CodeのChangelogには Version 2024.2.214 が載っていたので、たぶん誤記だろう。

やっていったところ、MDBT53で動かすことができた。

ncs-blinky-sample/devacademy_nrf5340

MCUboot無しでnon-secure版もできるのだろうか?と思ってcpuspp_nsを使ってみると動いた。

ncs-blinky-sample/devacademy_nrf5340_ns

名前の違い以外はCONFIG_TRUSTED_EXECUTION_NONSECURE=yがあるくらいか?

nRF Connect for Desktop の Programmer で様子を見てみる。 えっ、こんなに細かく分かれてるの??

image

と思って一度Eraseしてからやり直すときれいになりました。 Eraseせずに焼けるのは何でだろうと思っていたが、空いたところに焼いているのだろうか。 しかしブートローダはどうやって見分けてるのか? Eraseして焼いても動いたので、実はnon-secureの方は動いてなかった、ということはなさそうだ。

image

オレンジ色の部分があるということは MCUboot も焼かれている? あるいは immutable なブートローダなのだろうか。 zephyr_final.mapには”mcuboot”が見つからないので載っていないのだろう。

まだまだ分からんことが多いな。