Hello Nordic
We have a device, working on nrf52832, with s132 and nRF5 sdk11.0.0, at customers around the world.
It contains a bootloader mechanism that copies a received “.bin” image to memory and then after restart the bootloader checks the GPREGRET register and in dfu is in order it copies the image to the address of application start.
We wish to move from bare metal (using the softdevice and the old sdk) to zephyr and use the smp service to perform dfu. So there are some question i would like to ask:
Is there a difference between the “.bin” image structure headers / magics etc. when building with zephyr in comparison to bare metal ?
Is there some difference in memory layout ?
Zephyr doesn't contain sofdevice but what if a softdevice already exists in memory ?
Are there different address locations and spaces for the application in zephyr and bare metal?
Does a system running on zephyr also contain an MBR (master boot record) at address 0x00000000 ? If not, then is it the mcuboot that is in address 0x00000000 ? and does the "west flash --erase" command puts it in address 0x00000000, cause i guess the whole application goes to slot-0, or slot-1 address, is the mcuboot part of the image generated with zephyr ?
How would you suggest upgrading such an old dfu mechanism which currently enables only to update the application (softdevice is fixed since production) to zephyr ?
hope to read from you soon
best regards
Ziv