I am using S32K144 EVB, out of 512kb of PFlash 44kb is used for Bootloader, and remaining for Application.
app config
m_interrupts (RX) : ORIGIN = 0x0000E000, LENGTH = 0x00000400
m_flash_config (RX) : ORIGIN = 0x0000E400, LENGTH = 0x00000010
m_text (RX) : ORIGIN = 0x0000E410, LENGTH = 512k - 0xE410
/* SRAM_L */
m_data (RW) : ORIGIN = 0x1FFF8000, LENGTH = 0x00008000
/* SRAM_U */
m_data_2 (RW) : ORIGIN = 0x20000000, LENGTH = 0x00007000
boot config
/* Flash */
m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000400
m_flash_config (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010
m_text (RX) : ORIGIN = 0x00000410, LENGTH = 0x0000B000
/* SRAM_L */
m_data (RW) : ORIGIN = 0x1FFF8000, LENGTH = 0x00008000
/* SRAM_U */
m_data_2 (RW) : ORIGIN = 0x20000000, LENGTH = 0x00007000
i wanted to jump from bootloader to application, but i am facing error like
No source available for "0xe478"
this is my code
#define APP_RESET_ADDRESS 0x0000E000
JumpToUserApplication(*((uint32_t*)APP_RESET_ADDRESS), *((uint32_t*)(APP_RESET_ADDRESS + 4))); (Calling from main function)
void JumpToUserApplication( unsigned int userSP, unsigned int userStartup)
{
/* Check if Entry address is erased and return if erased */
if(userSP == 0xFFFFFFFF){
return;
}
/* Set up stack pointer */
__asm("msr msp, r0");
__asm("msr psp, r0");
/* Relocate vector table */
S32_SCB->VTOR = (uint32_t)APP_RESET_ADDRESS;
/* Jump to application PC (r1) */
__asm("mov pc, r1");
}
Please help me to solve this issue. Thanks in Advance