jump from bootloader to application problem

Status
Not open for further replies.

akshada

Member level 3
Joined
Jun 29, 2010
Messages
67
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
india
Activity points
1,746
hello all,
I have writtten an IAP for STM32F100xx and trying to jump to my LED blinking aplication
bootloader base address : 0x08000000
application address:0x08009000

I am using the below code to jump from bootloader to application..
Code:
typedef (void )(*pFunction)(void);
pFunction Jump_To_Application;
uint32_t JumpAddress;
 


/* Test if user code is programmed starting from address "ApplicationAddress" */
    if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)
    { 
      /* Jump to user application */
      JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
      Jump_To_Application = (pFunction) JumpAddress;
      /* Initialize user application's Stack Pointer */
      __set_MSP(*(__IO uint32_t*) ApplicationAddress);
      Jump_To_Application();


when my pointer reaches "Jump_To_Application();" nothing gets updated in PC,SP..

I am running bootloader code in debug mode.
I am using Atollic IDE.
Plz help..
thanks in advance..
 

I've compiled my application which is to be loaded at address 0x08009000.For that I made the following changes:
Settings done:
1) Linker script file (.ld): FLASH (rx) : ORIGIN = 0x08009000, LENGTH = 80K
2) system_stm32f10x.c Line 132: #define VECT_TAB_OFFSET 0x9000

after compilation the .isr vector in .map file does not change,it still shows 0x08000000 and not 0x08009000..do i need to make anymore changes?

thanks
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…