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?