Skip to main content
Visitor II
May 2, 2025
Question

What on earth the 'BootRAM' in startup file is?

  • May 2, 2025
  • 1 reply
  • 491 views

I'm working on my cpp scaffold for stm32, so I read the startup file generated by STM32CubeMX.And I noticed that the startup file contains a definition called BootRAM, but there is no documentation on it.It also seems not being used anywhere else on a regular project, so what on earth it is?Should I consider it when I write my own startup file?

P.S. The startup code I've mentioned is below:

/* start address for the initialization values of the .data section.
defined in linker script */
.word	_sidata
/* start address for the .data section. defined in linker script */
.word	_sdata
/* end address for the .data section. defined in linker script */
.word	_edata
/* start address for the .bss section. defined in linker script */
.word	_sbss
/* end address for the .bss section. defined in linker script */
.word	_ebss

.equ BootRAM, 0xF1E0F85F

 

    This topic has been closed for replies.

    1 reply

    Graduate
    May 2, 2025

    Dear ZhiYi-R,

    "BootRAM" instruction at gcc startupfile exists since STM32F1 era.
    The latest STM32H5 has the same.

    I found interesting thread.
    https://community.st.com/t5/stm32-mcus-products/last-entry-in-vector-table-provided-by-st-startup-scripts/td-p/491306

    When you want to write your own startup and boot from "internal flashrom only" ,it may not be necessary.

    Because IAR & ARM startup does not have BootRAM instruction.

    Best regards,
    Nemui.

    ZhiYi-RAuthor
    Visitor II
    May 3, 2025

    Thanks for that.But according to the thread you've mentioned, this address should be the last entry of ISR vector table. However, in my project I didn't find the reference to 'BootRAM'.Maybe ST changed something?IDK.Is there any further information or documentation?