I need to remap ble bootloader because I want to use nrf52832_AB instead of nrf52832_AA found in dev kits.
I wish I could have this memory mapping in embedded flash :
0x00000000 - 0x00001000 MBR
0x00001000 - 0x00026000 softdevice
0x00026000 - 0x00036000 my app and app data
0x00036000 - 0x0003E000 booloader
0x0003E000 - 0x0003F000 boot data
0x0003F000 - 0x00040000 mbr data
So I've set IROM start and IROM size to fair values in Keil at compilation time for bootloader and my app, but at execution time, when pushing a package in the device, the bootloader raise an error and the system in stuck, even after reboot.
I've set #define BOOTLOADER_SETTINGS_ADDRESS (0x0003F000UL)
I think bootloader writes at a wrong address, but it's just a guess.
Edit 1 : Iv'e set NRF_DFU_APP_DATA_AREA_SIZE to 0 and the bootloader transfert process is going on, but the application never starts. The application has been validated on an AB and the whole process has been tested on a AA
Iv'e set NRF_DFU_APP_DATA_AREA_SIZE to 0 and the bootloader transfert process is going on, but the application never starts. The application has been validated on an AB and the whole process has been tested on a AA
It sounds like the new application may be too large to fit in the area between Softdevice end and application data start (see Memory layout). FDS will fail to initialize if the flash pages get overwritten during the DFU process which is a possibility when NRF_DFU_APP_DATA_AREA_SIZE == 0.
What is the size of application binary file you do DFU with?
Hi, the size is 0x10000
That explains why you had to set NRF_DFU_APP_DATA_AREA_SIZE to zero. But app data is usually not included in the DFU image. Does it have to be included in this case? Also, are you using FDS? As I mentioned, it will fail to initialize if the allocated flash pages become corrupted during DFU.
Hi, that's what I was thinking : I don't use FDS so it's not the problem. Could it be a problem in restart settings? How can I check that mdr parameter storage and bootloader settings are good?
The memory layout looks ok. Have you tried to see if you can debug the application or bootloader after completing the DFU? Maybe it is going in a reset/boot loop? Or is the device going back to DFU mode?