How to understand the interrupt vectors of NTM88

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to understand the interrupt vectors of NTM88

Jump to solution
869 Views
FrankHill
Contributor I

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

 

 

FrankHill_0-1611394065120.png

 

 

0 Kudos
1 Solution
856 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi Frank,

 

In the bootloader project, memory is divided into two sections:

  • The bootloader section, which is always present and has a valid content (because it is never erased nor overwritten).
  • The application section, which is not always present and not always valid (in case of issue during OTA reprogramming).

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.

Figure 4.JPG

Figure 5.JPG

 

Best regards,

Tomas

View solution in original post

0 Kudos
2 Replies
854 Views
FrankHill
Contributor I

Hello Tomas.

Thanks for you reply. I will check the AN5149.

Best regards

Frank Hill

0 Kudos
857 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi Frank,

 

In the bootloader project, memory is divided into two sections:

  • The bootloader section, which is always present and has a valid content (because it is never erased nor overwritten).
  • The application section, which is not always present and not always valid (in case of issue during OTA reprogramming).

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.

Figure 4.JPG

Figure 5.JPG

 

Best regards,

Tomas

0 Kudos