MCUboot (7まとめ)
2024/07/16
評価ボードnRF5340 MDBT53-1Mモジュールピッチ変換基板が自分でビルドしたアプリを焼くと動かない件の調査である。
今回はまとめだけ。
元
- DevAcademy Lesson 8-2をMDBT-53で動かす
- 元のGitHub
- ncs v2.6.1
改造
boards/nrf5340dk_nrf5340_cpuapp_ns.conf
はファイルごと削除app.overlay
- 削除
nordic,pm-ext-flash = &mx25r64;
- 追加
&button0 { gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; }; &led0 { gpios = <&gpio1 11 GPIO_ACTIVE_LOW>; };
- 削除
child_image/mcuboot.overlay
- “aliases”の
button1
をbutton0
に、led1
をled0
に変更 - chosen を含むブロックをまるまる削除
app.overlay
と同じく&button0
と&led0
を追加
- “aliases”の
prj.conf
CONFIG_MCUBOOT_USE_ALL_AVAILABLE_RAM=y
を追加boards/nrf5340dk_nrf5340_cpuapp_ns.conf
を削除しなければよいだけかもしれないが試してない
設定
- Boardの選択は手順通り”nrf5340dk_nrf5340_cpuapp_ns”を使った(ncs付属)
- https://github.com/hirokuma/inter_less8_exer2_solution-mdbt53
備考
プロジェクトは、MCUbootでもUSBを有効にしてDFUできるという内容である。 今回はDFUについては確認せず、MCUbootでSerial Recoveryモードになるところまでの確認をおこなった。
nRF5340DKとMDBT53の違いを反映しただけだが、起動しなかったのは外部Flashの設定のせい、Serial RecoveryモードにならなかったのはMCUboot用のボード設定をしていなかったせいだ。
- 外部Flashを削除
- Lesson 8 は手順8から外部Flashの追加を行っている。
nordic,pm-ext-flash = &mx25r64;
の記述を削除すればよさそう。
button
とled
のGPIOアサインを変更- MCUbootの方は
child_image/mcuboot.overlay
に書かないとダメだった。 - 通常は Build Configuration の Board で選択したボードが MCUboot にそのまま引き継がれるのだろう。
- MCUbootの方は
Lesson 8 Exercise 2 は動くようになったが、自分で作ったblinky
プロジェクトを MDBT53用に提供されたボード定義ファイルを使うと ncs v2.6 以降で起動しない原因はわかっていない。