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.confCONFIG_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 以降で起動しない原因はわかっていない。
    writer: hiro99ma