The last few days I spent a fair chunk of my day arguing with the nRF Connect SDK and its Partition Manager…
The goal: trying to get NSIB and mcuboot to behave with the secondary image on external (QSPI) flash.
Took the better part of yesterday and today just getting a `pm_static.yml` together… only for it to compile an image, and `west flash` to barf because the image file embedded both on-chip flash data *and* a copy of the bootloader for the QSPI flash.
In the end, I came to the following conclusions:
1. Partition manager is over-engineered and fails at its prime objective of making partition layout easier (they tell you to skip dynamic layout and use `pm_static.yml` when doing DFU… enough said!)
2. NSIB is a no-go if external flash is involved because it *insists* on making a composite image that won't actually load.
Tomorrow, I'll see if I can bend `mcuboot` to my will. Primarily I want to see if I can move the public keys it uses for authenticity checks into a separate partition so I can update those without flashing a whole new bootloader.
#mcuboot #nrfconnect #nsib #nrf52840 #zephyr #openthread