arikramon wrote on Wednesday, October 24, 2012:
Hi
I am using STMicro 107 with FreeRtos.
I am trying to jump from my main program to a previously burned program in the internal flash, using STMicro example:
the following is the code I used for the jump:
if (input == JUMP_TO_BURNED_FLASH) /* Jump to user application */
{
__disable_irq();
/* Check if valid stack address (RAM address) then jump to user application */
if (((*(__IO uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS) & 0x2FFE0000 ) == 0x20000000)
{
/* Jump to user application */
JumpAddress = *(__IO uint32_t*) (USER_FLASH_FIRST_PAGE_ADDRESS + 4);
Jump_To_Application = (pFunction) JumpAddress;
/* Initialize user application’s Stack Pointer */
__set_MSP(*(__IO uint32_t*) USER_FLASH_FIRST_PAGE_ADDRESS);
Jump_To_Application();
}
else
{/* Otherwise, do nothing */
while(1);
}
}
The application I am jumping too is not executed.
Can some one has any idea why?
thanks
Arik