Hi,
We implemented custom bootloader, its working, fine.
Case1:working
When i configure the Boot project and Application project same configuration , its jumping to the specified application but we observed a execution delay.
Note: We are using SDAM configuration its configured using DCD config tool.
Case 2: Not working
When boot project and application project has different configuration. i mean if i did not configure SDRAM in boot project , i will configure SDRAM config only in application, in this scenario application is not working.
My question is it mandatary of having boot project and application same configuration ? If not how can i debug this issue.
Can you verify below snippet code.
void JumpApplicationOne(void)
{
/*! @brief Jump to application function pointer datatype. */
typedef void (*F_Bootloader_Jump_t)(void);
PRINTF("jump_application :1\n\r");
//NOTE: Don't modify the below code and no Debug printf
// Disable both D and I caches, Application will enable them back.
SCB_DisableDCache();
SCB_DisableICache();
// Data memory barrier.
__DMB();
DisableGlobalIRQ();
// Relocate vector table.
SCB->VTOR = (__IOM uint32_t)APP1_BASE_ADDRESS;
// Define Application function.
uint32_t jumpAddress = *(uint32_t*)(APP1_BASE_ADDRESS + 4U );
F_Bootloader_Jump_t jump = (F_Bootloader_Jump_t)jumpAddress;
// Set stack pointers to the Application stack pointer.
__set_MSP(*(uint32_t*)APP1_BASE_ADDRESS);
__set_PSP(*(uint32_t*)APP1_BASE_ADDRESS);
// Jump to Application.
jump();
}
@kerryzhou @bootloader @nxp
Regards,
sandeep C