
I have a program that to fail to start. I read the flash content use jflash, found that the only difference between the program that can run normally is the value on MBR_parameter_addr. I Want to know the data struct of MBR_parameter?

I have a program that to fail to start. I read the flash content use jflash, found that the only difference between the program that can run normally is the value on MBR_parameter_addr. I Want to know the data struct of MBR_parameter?
Hello,
The flash page at 0x7E000 is also used as a backup for the nrf_dfu_settings_t struct located at 0x7F000. Therefore, the content at the beginning of the MBR parameter page should normally mirror the content of the bootloader settings page. Is that not the case on the failing device?
Best regards,
Vidar
thanks,
The contents on 0x7e000 and 0x7f000 are different. I want to know what operations will change the contents on 0x7e000? and what do these data on 0x7e000 mean?
But is the content at 0x7f000 identical on both the failing and working device?
xu said:I want to know what operations will change the contents on 0x7e000? and what do these data on 0x7e000 mean?
The bootloader settings struct is used by the bootloader during DFU for state keeping and for storing information such as version numbers.
the content at 0x7e000 and 0x7f000 is same on working device.
but the content at 0x7e000 and 0x7f000 is different on failing device.

the content at 0x7e000 and 0x7f000 is same on working device.
but the content at 0x7e000 and 0x7f000 is different on failing device.

but the content at 0x7e000 and 0x7f000 is different on failing device.
The settings pages is also invalid. I suggest you compare the whole memory between the failing and working device to see what else is different. You can do this with nrfjprog.
# read out memory of working device $ nrfjprog --memrd 0x0 --n 0x80000 > good_device.txt # Same for failing device $ nrfjprog --memrd 0x0 --n 0x80000 > bad_device.txt # Compare the differences using 'diff' or a similar tool $ diff -u good_device.txt bad_device.txt