2022-07-19 03:02 AM
Hi!
I'm using STM32H7A3RGT6 MCU and FreeRTOS for my custom Application. My Application is placed in FLASH2 with the address 0x08100000 (verified using STM Cube Programmer) and Bootloader which jumps to my Application is placed in FLASH1 with the address 0x8000000 (verified using STM Cube Programmer). When I debug, only the Bootloader runs and my custom Application doesn't run. But when I place the Application in FLASH1, it runs without any hassles.
Also attached the Linker files of both for reference.
Note: The Bootloader is working fine when used in another application.
Hoping for a Quicker Response.
Thank You
2022-07-19 06:38 AM
Show your jump to app func.
2022-07-19 10:02 PM
Hi!
Thank You for the Quick Reply.
Here is my Jump to App function.
void jump_to_application(uint32_t flash_address)
{
void (*app_reset_handler)(void);
uint32_t main_stack_pointer_value = *(volatile uint32_t *)flash_address;
__set_MSP(main_stack_pointer_value);
uint32_t reset_handler = *(volatile uint32_t *)(flash_address + 4);
app_reset_handler = (void*) reset_handler;
app_reset_handler();
}