AnsweredAssumed Answered

Last entry in vector table provided by ST startup scripts

Question asked by Luke on Sep 9, 2011
Latest reply on Sep 9, 2011 by Clive One
In all the startup scripts provided by the ST standard peripheral library, there is an entry at the end that is:

  .word  BootRAM     /* @0x1E0. This is for boot in RAM mode for STM32F10x Connectivity line Devices. */

earlier in the startup, BootRAM gets defined like:
.equ  BootRAM, 0xF1E0F85F

The exact address depends on the particular device (low/medium/high/xl density, connectivity, value line, etc.), but all of them have a BootRAM entry in the startup script, and all are the last entry.

I grepped the whole directory tree, and the only place "BootRAM" shows up is in the startup scripts.  I can't find any documentation on it at all, and the exception tables in the documentation of each chip don't go as high as this particular exception is located in the vector table, so I'm confused why it is even there.  The memory region is located somewhere in the Cortex-M3's internal peripherals, but I can't find any documentation on it.

Does anybody know what this entry is and what it does?  Does it have anything to do with booting from RAM, like the name suggests?  Maybe something to do with the boot pins?

Thanks,
~Luke

Outcomes