I am using nrf52832 with buttonless DFU ,SDK 15.0,using fstorage.I want to store some device information in flash,such as serial number,hardware version,these data will not be erased duing DFU,and I want to save firmware version too,I tested that if I comment device read and write ,the DFU works well,if I uncomment device read and write,and rease 4to1 hex to device,it will not run to app and stuck in bootloader and broadcast.
this is my configuration:
Bootloader:start addr:0x78000,size:0x6000 ,end addr:0x7e000
APP:start addr:0x26000,size:0x5a000,end addr:0x80000
fstorage setting:
NRF_FSTORAGE_DEF(nrf_fstorage_t fstorage) =
{
/* Set a handler for fstorage events. */
.evt_handler = fstorage_evt_handler,
.start_addr = 0x73000,
.end_addr = 0x78000,
};
/*device information addr define*/
uint32_t Hardware_VerAddr __attribute__ ((at(0x74400)));
uint32_t Serial_NumAddr __attribute__ ((at(0x74300)));
uint32_t SN_HW_EXIST_Addr __attribute__ ((at(0x74100)));
uint32_t Firmware_VerAddr __attribute__ ((at(0x73FD0)));
uint32_t Firmware_EXIST_Addr __attribute__ ((at(0x73FC0)));
I want to write hardware version and serial num in Reserved Application Data area,and write firmware version in the end of app.below 0x75000.
it covered Application Data area,I tried to change fstorage`s start_addr from 0x73000~0x75000, if I comment device read and write ,the DFU works well,if I uncomment device read and write,and rease 4to1 hex to device,it will not run to app and stuck in bootloader and broadcast.
Is there any configuration wrong?