OS: Windows
NCS: 2.0.0
I have successfully gone through the nice Nordic DFU guide https://devzone.nordicsemi.com/guides/nrf-connect-sdk-guides/b/software/posts/ncs-dfu
However, our system uses the Gazell protocol (https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.0.0/nrf/ug_gz.html) during runtime and we will be updating the host and device from a phone app via BLE.
The nRF52 needs to run Gazell at runtime and BLE during DFU. My first thought to start DFU is to:
1. set a flag in non-volatile memory (ex. external EEPROM) during runtime
2. call sys_reboot()
3. In main simply
if(flag set){
start BLE
}else{
start gazell
}
Is this the correct thought process? If no, can someone suggest a better approach?
If yes, is there a simple way to set an "internal" nRF52 non-volatile flag to indicate to start BLE do do the DFU? I would prefer not to use the storage_partition to store a single flag.
Thanks!