I have integrated DFU service into my application. I am successfully able to use OAD so far. Today I have added a piece of code to my application. So, my binary size has been increased.
After transfer this binary to my device, application hangs and not even advertising DFU or my application services.
What could go wrong here? I assume if the app is not properly downloaded, it supposed to advertise DFU services. But my application hangs somewhere.
Can someone please look into it?
Hello Tech support team,
Please look into it.
Are you able to debug the application after completing DFU? That should help you determine where the app gets stuck.
A common reason for issues like this is that the bootloader is overwriting parts of the 'application data' region during DFU that leads to initialization problems next time the app is booted (see Memory layout). You may want to verify if the NRF_DFU_APP_DATA_AREA_SIZE config in your bootloader matches the size of the 'application data' region used by the app first as that will prevent the possibility of getting overwrites.
I found, NRF_DFU_APP_DATA_AREA_SIE of dfu bootloader, it is 12288.
Where to find application data region to match with?
It's going to correspond to the number of FDS_VIRTUAL_PAGES if you are using FDS in your app (either directly or through the Peer manager module). Each page is 4096 bytes by default.