SDRAM issue

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
959件の閲覧回数
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 解決策
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 件の賞賛
2 返答(返信)
935件の閲覧回数
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 件の賞賛
912件の閲覧回数
vijayc1
Contributor II

Hi @kerryzhou  thank you for the reply it worked.

タグ(1)
0 件の賞賛