AnsweredAssumed Answered

jump from flash to RAM

Question asked by ioeoa.001 on Jul 13, 2014
Latest reply on Jul 13, 2014 by Clive One


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?