Hello,everyone
How does the user application interrupt vectors of NTM88 work?
have any re-direct operation to make the vectors valid? so the irq fucntion in user code can be used.
I want figure this out so I read the bootloader examples of NTM88 from NXP. I just find that:
if (gu8BootAppMode == MODE_APP)
(*USER_APP_INTERRUPT_TABLE[15])(); // JUMP TO USER APP main_app()
Only the main function of app code is called. It's not a irq function and not called by a real IRQ.
Who can help to explain this problem?
Thanks
Best regards
Solved! Go to Solution.
Hi Frank,
In the bootloader project, memory is divided into two sections:
After reset, the programs jumps into the main located bootloader section by default, and when an interrupt occurs the program accesses the interrupt vectors which are located in the bootloader section. Then, only if the application section is valid (i.e. program is in application mode) then the program jumps into the application (main_app) and application interrupt vectors. The program does not access the application section by default because it does not always have a valid content.
This is illustrated in Figures 4 and 5 of the AN5149.
Best regards,
Tomas
Hello Tomas.
Thanks for you reply. I will check the AN5149.
Best regards
Frank Hill
Hi Frank,
In the bootloader project, memory is divided into two sections:
After reset, the programs jumps into the main located bootloader section by default, and when an interrupt occurs the program accesses the interrupt vectors which are located in the bootloader section. Then, only if the application section is valid (i.e. program is in application mode) then the program jumps into the application (main_app) and application interrupt vectors. The program does not access the application section by default because it does not always have a valid content.
This is illustrated in Figures 4 and 5 of the AN5149.
Best regards,
Tomas