Hi,
I have created a custom boot loader for my project. The boot loader is located at address 0x00 and the application is located at address 0x00023000. My problem is that the program control is not jumping from boot loader to application.
I know this problem has been discussed multiple times but none of the solutions have worked for me. I have done this multiple times with other NXP & STM controllers but for some reason I am not able to figure out for NXP S32K14x.
If someone can give pointers then it will be very helpful.
My boot loader code for jumping to application:
bootloader jump code
Boot loader Linker file:
boot loader linker file
Application Linker file:
Application Linker file
I have debugged the above using both PE Micro Debugger and Segger JLink Debuggers. We have added the symbol file and attempted to debug dual projects but none of the approaches have given us any useful results / hints to the problem.
Some things that we have tried so far:
1) Disable and clear all interrupts before jumping.
2) Defined all interrupt handlers in the application code (originally they are pointing to the same location).
3) Ensuring that all peripherals are deinit (except on board flash).
4) Before jumping to the application, we can see in the debug Registers window that the SP is updated.
5) Ensuring that all clocks except FIRC is disabled before jumping to application.
No matter what we try, the debugger does not jump to application.
Any inputs will be of great help.