Hello,
I have an application that has to be ported to the newer Softdevice version. I've already ported my application to the SDK 13 and tested it with the new Softdevice v4.0.2.
I found that topic where described the fix for legacy bootloader to be able to accept newer Softdevices.
Now the question is how to perform update to the application based on SDK13 + Softdevice 4.0.2
Steps I did:
- Update my legacy bootloader build with patched
dfu_dual_bank.c
- Prepare zip package with the custom bootloader + application with SDK 11 + Softdevice v2.0.1 with
nrfutil 0.5.3
(1) - Upload zip package with custom bootloader via DFU. Here my application works fine after update.
- Prepare new zip package with the custom bootloader + application with SDK13 + Softdevice v4.0.2 (2)
- Upload zip package with new Softdevice and application. My device does not work after that
After the final update I am able to validate that new Softdevice has been applied. Here the output of nrfjprog -f nrf52 --memrd 0x0000300C
before and after update:
- before update output is
0x0000300C: FFFF0088
- after update output is
0x0000300C: FFFF0098
How zip packages were prepared with nrfutil v0.5.3
:
(1): nrfutil dfu genpkg --bootloader custom_bl.hex --softdevice s132_nrf52_2.0.1_softdevice.hex --application app.hex old_full_pack_custom_bl.zip
(2): nrfutil dfu genpkg --bootloader custom_bl.hex --softdevice s132_nrf52_4.0.2_softdevice.hex --application new_app.hex new_full_pack_custom_bl.zip
It is undesirable to move to Secure Bootloader as it is mentioned in several topics here and here that that procedure is not failsafe. Hence it is unacceptable in my case as we have lots of devices in the field that have to be updated with new SD (v4.0.2) + APP.
Could you please provide the safe update steps to perform?
Thank you.