2014-07-13 05:19 AM
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 #stm32f30x2014-07-13 07:55 AM
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.