cancel
Showing results for 
Search instead for 
Did you mean: 

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

ZhiYi-R
Visitor

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

 

1 REPLY 1

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.