Jump to a pre loaded program is not working

arikramon wrote on Wednesday, October 24, 2012:

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 */
/* 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 */
{/* Otherwise, do nothing */

The application I am jumping too is not executed.
Can some one has any idea why?


edwards3 wrote on Wednesday, October 24, 2012:

You have not made it clear how this relates to FreeRTOS. What do you mean by “not executed”. What is running when it is “not executing”? If the application you are jumping to is using FreeRTOS, have you installed the interrupt handlers or remapped the vector table to the vector table of the program you are jumping to?