DFU of Gazell Device

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!

Related