Skip to main content
Visitor II
February 25, 2025
Question

Nucleo-G474RE code jump from code in Internal Flash to External Flash W25Q16JV in QSPI is not working

  • February 25, 2025
  • 5 replies
  • 537 views

Hi @guru ,

In Nucleo-G474RE ,I have connected W25Q16JV in quadSPI bank1 .I have written the Application image binary(.bin) in external flash.I am able to verify the binary written at 0x90000000it in memory mapped mode.When I do Jump to application to external flash from my code in internal flash.

 

SysTick->CTRL = 0;
// Set the stack pointer_
 __set_MSP(*(__IO uint32_t*)APP_START_ADDRESS);

 // Get the application entry point
 void (*app_entry)(void) = (void (*)(void))(*(__IO uint32_t*)(APP_START_ADDRESS + 4));
 // Jump to the application
 app_entry();

 APP_START_ADDRESS given as 0x90000000.On jumping to application ,it doesn't execute.

When verified the example STM32G474E-EVAL,in that,for execute-in-place a fuction is written in external flash and called from internal flash.But I need to do jump to a application flashed in external flash.Any help on this ,would be highly appreciable.

Thanks,

Radhai

    This topic has been closed for replies.

    5 replies

    RadhaiAuthor
    Visitor II
    February 26, 2025

    Hi,

    Could someone advise on the above issue.

    Thanks,

    Radhai.E

    Super User
    February 26, 2025

    > On jumping to application ,it doesn't execute.

    What does it do? Does the PC register get updated? Debug, step through, see what the processor is doing.

    There is example jump to bootloader you can use as a resource, except substitute the external flash address.

    RadhaiAuthor
    Visitor II
    February 26, 2025

    Hi,

    Thanks for your reply,Could you please provide the link to the example you are mentioning.And ,a basic question ,does stm32G474RETX  support jump to application in external flash from bootloader code in internal flash?.Any example would be highly helpful.

    Thanks and regards,

    Radhai.E

    RadhaiAuthor
    Visitor II
    March 5, 2025

    Hi @TDK ,

    Thanks for your reply,Figured out my mistake I

    I have added  QSPI (rx) : ORIGIN = 0x90000000, LENGTH = 1024K in linker memory definition and issue got resolved.Now able to execute applicaiton in external flash

    Thanks and regards,

    Radhai.E