AnsweredAssumed Answered

Bootloader and OTA upgrade

Question asked by David Rozenski on Mar 19, 2019
Latest reply on Mar 28, 2020 by Anton Glukhov

Let me explain our application :


We have designed our own board based on RT1052 with external QSPI Flash, we want to have 2 applications in a flash the first one that will call Bootloader which will run in the bottom part of flash 0x60000000 and started as a XIP application by RomCode, this Bootloader will look if some NEW upgrade is ready for the main Application located in the upper side of flash let say 0x60010000, and doing some upgrade if necessary and jump after to this main application.
What we have done now:

- The core of the Bootloader running as XIP located in 0x60000000, with the correct LUT and so and just flashing a led.

What we failed now is the jumping part from this Bootloader application to the main application in upper side.


Our question are :


1) when compiling the Main Application we put Flash Starting adress at 0x60010000 which is our final flash target, we also put XIP_EXTERNAL_FLASH=1 and XIP_BOOT_HEADER_ENABLE=0 these are correct ? 

2) How in our bootloader application we can know the jumping address of our main Application ? is 0x6001000 ?

3) Entering in our Main application (coming from bootloader) do we have to relocate SCB->VTOR if yes where we can get the value of the relocation ?


Is there any simplest way to achieve what we want to do ?


Best Rgds