This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
We are building a Bootloader based on the SPNA190 "UART Bootloader for Hercules RM48x MCU'. The goal is to be able to install a software package in the field using the serial interface. The Software Package is a complete stand alone software, with boot, selft-test, kernel and application. The Bootloader reads an input and decides whether to jump to the Software Package or not.
Once the Bootloader will remain in the flash, while the Software Package is running, the arm core vector table (at address 0) will be the Bootloader table. For instance, if a supervisor call (SVC exceptions) occurs, the handler executed will be the Bootloader handler. Am I right? Is there a why to make the MPU to use the Software Package arm core vector table instead?
The Arm Cortex-R Programmer’s Guide says that it is possible to move the vector table to 0xFFFF0000, but this address is reserved for the PMM registers.
I believe there isn't a problem with FIQs and IRQs because they refer to the same VIM table.
Best regards,
Marcio
Hi Marcio,
Am I right? Is there a why to make the MPU to use the Software Package arm core vector table instead?
You are right, but vector table relocation is not possible and please refer below thread for more details.
--
Thanks & regards,
Jagadish.
Hi,
So, if we use a Bootloader, the Software Package does not need the VECTORS section. Bootloader can jump directly to the the Software Package
How do I configure the linker to allocate a routine at the start address? If I use the pragma CODE_SECTION, I will have to reserve a space exclusively to this routine. Is there a better way?
Best Regards,
Marcio.
Hi Marcio,
Please go through below two FAQ's of bootloaders:
--
Thanks & regards,
Jagadish.