Hello,
I have an application running on legacy NRF SDK and using the nRF5 bootloader, which has below flash sectors,
0x00000 - 0x026000 - Soft-device section
0x26000 - 0x0D9000 - Application section
0xD9000 - 0x0F8000 - Reserved section
0xF8000 - 0x100000 - Bootloader/settings/mrb
Now I want to perform a DFU OTA over this with my new application called the intermediate application. This shall have,
- two large byte arrays, of 50KB and 320KB
- A function that copies the above array to flash into a specific address(in 0x00000 to 0x062000); this function is a RAM function that loads into RAM.
- And a main function that calls this RAM function.
The flash sections of this intermediate application are as below,
0x00000 - 0x062000 - Space to paste two byte array data
0x62000 - 0x0BF000 - dedicates sectors to hold byte array in flash memory
0xBF000 - 0x100000 - Application section
What I want is to perform a DFU OTA of the intermediate application over the legacy application. Now the legacy application has a bootloader, softdevice, and application in the dedicated flash regions, while the intermediate application has a different flash layout compared to the legacy application.
So the question here is, is it possible for the legacy application bootloader to accept the intermediate application and perform DFU? Because the intermediate application does not have a softdevice, a bootloader, and the same flash layout that the legacy application expects.
If not, then can you suggest a way I can follow to achieve my goal?