This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Reset DFU process after power loss

Hi,

I am implementing modified DFU for nRF52832 which uses external flash memory. If power loss occures during update process, device then start update process from the last known progress (e.g. 35 %). I want to ensure that update process always starts at 0 %. What should I change?

I use SDK 12.0.0 and SD v132

Parents
  • Hi Michal,

    The way the DFU controller continue the process is described here.

    The offset is what exactly tell if the last DFU interrupted in the middle of the process or not.

    So what you need to do is either let the DFU controller ignore the offset, or you erase the offset in the bootloader setting stored in flash. Offsets are stored in bootloader setting in progress field in nrf_dfu_settings_t.

    You can think of erasing it when the bootloader starts. But make sure you test and verify Softdevice update and bootloader update works fine after your modification.

Reply
  • Hi Michal,

    The way the DFU controller continue the process is described here.

    The offset is what exactly tell if the last DFU interrupted in the middle of the process or not.

    So what you need to do is either let the DFU controller ignore the offset, or you erase the offset in the bootloader setting stored in flash. Offsets are stored in bootloader setting in progress field in nrf_dfu_settings_t.

    You can think of erasing it when the bootloader starts. But make sure you test and verify Softdevice update and bootloader update works fine after your modification.

Children
No Data
Related