Hai im using IMXRT1062 processor where my bootloader uses SRAM_DTC and flashed at 0x60000000 and my application uses SDRAM and flashed at 0x60020000 ,when i try to jump from bootloader to application im facing issues what might be the issue?
APPLICATION_ADDRESS =0x60020000
void flash_jump_to_app(void)
{
__disable_irq();
SCB->VTOR =APPLICATION_ADDRESS;
uint32_t Base_Address = APPLICATION_ADDRESS;
JumpApplication(*(uint32_t*)Base_Address, *(uint32_t*)(Base_Address+4));
}
JumpApplication(uint32_t topOfMainStack, uint32_t AppAddr)
{
__ASM volatile ("mov SP, %0" : : "r" (topOfMainStack) : );
__ASM volatile ("mov PC, %0" : : "r" (AppAddr) : );
}
Solved! Go to Solution.
Hi @vijayc1
As you know, the SDRAM is the external memory, and the RT using the SEMC to communicate with the extenral SDRAM chip.
So, if you want the SDRAM works, you need to do the SEMC configuration for the SDRAM at first.
Normally, we use the DCD code to configure it, so, you can use the bootloader code to add the IVT to initialize it, the DCD location is from 0x60001030.
Wish it helps you!
If you still have questions about it, please kindly let me know.
Best Regards,
Kerry
Hi @vijayc1
As you know, the SDRAM is the external memory, and the RT using the SEMC to communicate with the extenral SDRAM chip.
So, if you want the SDRAM works, you need to do the SEMC configuration for the SDRAM at first.
Normally, we use the DCD code to configure it, so, you can use the bootloader code to add the IVT to initialize it, the DCD location is from 0x60001030.
Wish it helps you!
If you still have questions about it, please kindly let me know.
Best Regards,
Kerry