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

Custom bootloader without DFU for nRF52805

We want to add the nRF52805 to an existing product but also want to have the option to perform a firmware update.

The current DFU implementation doesn't allow the softdevice to be updated because there is not enough flash available. Also the DFU itself uses 32K flash, the softdevice S112 uses 100k, leaving only 60k flash for the application (including 8K for app data). It seems this would not be sufficient or on the edge. A bigger device is too expensive so we can't select this.

On the existing product we have (flash) memory available to store the new firmware so we have the idea is to create a custom bootloader that ask the main product if there is a firmware update available and also do the verification. We think this can be done in about 4k or 8k flash. This way we save about 24-28k compared to the DFU bootloader.

Is it possible to create a custom bootloader at for instance start address 0x2E000 by just modifing the MBR location 0xFF8 or write the start address to NRF_UICR->NRFFW[0]? How to do this


Does the MBR needs the Bootl/MBR data that is normally used by the DFU? so MBR location 0xFFC or NRF_UICR->NRFFW[1] should not be used because we don't use DFU and therefor get addtional 8K flash for our application

Parents Reply Children
No Data
Related