SDRAM issue

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

SDRAM issue

跳至解决方案
958 次查看
vijayc1
Contributor II

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) : );
}

标记 (1)
0 项奖励
1 解答
933 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

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

在原帖中查看解决方案

0 项奖励
2 回复数
934 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

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

0 项奖励
911 次查看
vijayc1
Contributor II

Hi @kerryzhou  thank you for the reply it worked.

标记 (1)
0 项奖励