The content is the same as devzone.nordicsemi.com/.../i-want-to-perform-firmware-updates-from-an-sd-card-for-firmware-created-with-the-nrf5-sdk.
This ticket is a question about performing firmware updates without using MCU Boot, etc., and instead, manually performing the update.
I have considered the following steps to achieve this:
(1) Read the program to be executed from the SD card and write it to the free space in the flash
(Saved in SREC format on the SD card)
All subsequent operations are performed within functions placed in RAM
(2) Disable all interrupts
(3) Write the program saved in the flash during (1) to the address specified in the SREC format
During this process, also rewrite interrupt vectors, etc.
(4) CPU reset
Perform an operation equivalent to 'NVIC_SystemReset()' (manipulating 'SCB->AIRCR') to reset the CPU
After implementing the above steps, I believe there are no errors, and the CPU reset is executed successfully. However, the loaded program does not run.
I have confirmed that the loaded program works when written in hex format.
Is there anything else necessary besides the above steps? If there is anything missing in the steps or settings, I would appreciate it if you could let me know.