Issues with Jumping to specific Address in S32K312 Bootloader and Watchdog Timer Behaviour

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

Issues with Jumping to specific Address in S32K312 Bootloader and Watchdog Timer Behaviour

554 次查看
samvidh
Contributor II

I’m using the S32K312 microcontroller with a bootloader located at address 0x400000. My requirement is to jump to the address 0x450000 every minute irrespective of Application software presence. However, when I attempt this, it triggers a hard fault if there’s nothing at that address (initial condition when there is no application), and I’ve enabled the watchdog timer to reset every 10 seconds. After jumping to 0x450000, the microcontroller doesn’t seem to hit the hard fault as expected, and sometimes the watchdog timer stops functioning after jump (the watchdog enable bit becomes 0), even though I’m not de-initializing it before jump .

How can I ensure a safe jump to a specific address without causing the microcontroller to enter a stuck state, and how can I maintain reliable watchdog operation while ensuring that I return to the bootloader correctly every time?

标记 (3)
0 项奖励
回复
1 回复

523 次查看
danielmartynek
NXP TechSupport
NXP TechSupport

Hi @samvidh,

What is the state of the core if it is not in the fault exception handler?

Can you show the core registers?

The SWT0 registers can be locked (CR[HLK] = 1), the lock can be cleared by the system reset only.

Do you monitor the reset_b pin during the jump?

 

Thank you,

Daniel

0 项奖励
回复