cancel
Showing results for 
Search instead for 
Did you mean: 

jump from flash to RAM

ilanh
Associate II
Posted on July 13, 2014 at 14:19

Hi,

We have application that run in flash from address: 0x08000000.

In order to update the application, we send loader code to the application through USB, the application copy the loader code in the RAM starting from address: 0x20000000 and then jump to the RAM. The loader code start to run, receive the application code through USB and program the application code in flash from address: 0x08000000.

When the loader code run from address: 0x08000000 it works O.K.

But when the loader code run from the RAM at address: 0x20000000 it stuck and the controller get reset.

In the loader code the vector table is as the following:

  NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x00);

In the IAR �Linker:

.intvec start: 0x20000000

ROM:   start: 0x20000000   end: 0x20007FFF

RAM:   start: 0x20000000   end: 0x20007FFF

Any idea what can cause the loader code to stuck?

thanks 

#stm32f30x
1 REPLY 1
Posted on July 13, 2014 at 16:55

ROM:   start: 0x20000000   end: 0x20007FFF

 

RAM:   start: 0x20000000   end: 0x20007FFF

Well to start with you're going to have to make sure these two regions don't overlap.
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..