How to understand the interrupt vectors of NTM88

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

How to understand the interrupt vectors of NTM88

跳至解决方案
1,679 次查看
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 项奖励
回复
1 解答
1,666 次查看
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 项奖励
回复
2 回复数
1,664 次查看
FrankHill
Contributor I

Hello Tomas.

Thanks for you reply. I will check the AN5149.

Best regards

Frank Hill

0 项奖励
回复
1,667 次查看
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 项奖励
回复