NRF5 SDK to zephyr migration (via BLE data transfer - MBR, mcuboot, application direct write to flash and run update process)
Scenario:
NRF5 SDK based firmware is running in the nrf52840.
We need to migrate the system to zephyr via BLE.
What we want to do:
The idea is to get MBR, zephyr mcuboot and zephyr application hex via BLE.
First, get data and write zephyr application hex from image1 address.
Second, get data and write zephyr mcuboot hex from mcuboot1 address.
Third, get data, erase 1 page from 0 address and write the MBR from 0 address.
And after a reboot the system will swap/update mcuboot1 to mcuboot, then mcuboot will swap/update image1 to image0.
In that process, some parts of NRF5 SDK based firmware may stay in the flash as garbage, we are expecting these area will be erased while there is any overwrite in the future. Or we may plan to erase these after doing some calculation.
Here,
We created additional mcuboot1 section for mcuboot upgrade feature, which part will be handled by new MBR.
Now the questions are:
Is the process seems good ? or there is better way to do the migration ?
Is there any other way to migrate from NRF5 SDK based firmware to zephyr firmware already ?
Is there any other way to update mcuboot already ?
where is the location of the vectors for mcuboot and application is defined ? can we do it in MBR section ? how ?
Scenario:NRF5 SDK based firmware is running in the nrf52840.
We need to migrate the system to zephyr via BLE.What we want to do:
The idea is to get MBR, zephyr mcuboot and zephyr application hex via BLE.First, get data and write zephyr application hex from image1 address.
Second, get data and write zephyr mcuboot hex from mcuboot1 address.
Third, get data, erase 1 page from 0 address and write the MBR from 0 address.
And after a reboot the system will swap/update mcuboot1 to mcuboot, then mcuboot will swap/update image1 to image0.
In that process, some parts of NRF5 SDK based firmware may stay in the flash as garbage, we are expecting these area will be erased while there is any overwrite in the future. Or we may plan to erase these after doing some calculation.
Here,
We created additional mcuboot1 section for mcuboot upgrade feature, which part will be handled by new MBR.
Now the questions are:
Is the process seems good ? or there is better way to do the migration ?
Is there any other way to migrate from NRF5 SDK based firmware to zephyr firmware already ?
Is there any other way to update mcuboot already ?
where is the location of the vectors for mcuboot and application is defined ? can we do it in MBR section ? how ?
" what happens if the device is rebooting during the transfer and it has overwrote part of the nRF5 softdevice? "
Can you provide information to this question, below-> where is the location of the vectors for mcuboot and application is defined ? can we do it in MBR section ? how ?