Skip to main content
Associate III
April 25, 2025
Solved

Regarding Bare metal Booting through SD-Card

  • April 25, 2025
  • 1 reply
  • 364 views
Hello
 
We are trying to boot BareMetal application using Sd-card on STM32MP257F-DK Board. We have a few questions regarding this:
1.In SD-Card Boot mode what is LOAD ADDRESS of image?
2.At this address will it load only application or application with header?
3.At entry point will it start executing the code or will it expect the vector table 


Thanks and regards
Akshitha Pattem
Best answer by Mayankbht

Hi @Aks 

  • Load address of image depends on which core (Cortex A35 or Cortex M33) your application is running. 
  • FSBL-M.1 (CM33) is first looked for at an offset 128LBA (128 * 512 = 0x10000) and if not found then,
  • FSBL-M.2 (CM33) is looked for at an offset 640LBA (640 * 512 = 0x50000).
  • FSBL-A.1 (CA35) is first looked for at an offset 1152LBA (1152 * 512 = 0x90000) and if not found then,
  • FSBL-A.2 (CA35) is looked for at an offset 1664LBA (1664 * 512 = 0xD0000) 
  • Signed ST image containing BOOTROM header needs to be loaded at this address.
  • When booted from SD, BOOTROM first validates if the image is authentic using header and then copies it in SYSRAM at 0x0E002600 for CA35 and 0x0E080000 for CM33. After copying it starts executing the image.

1 reply

MayankbhtBest answer
ST Employee
June 16, 2025

Hi @Aks 

  • Load address of image depends on which core (Cortex A35 or Cortex M33) your application is running. 
  • FSBL-M.1 (CM33) is first looked for at an offset 128LBA (128 * 512 = 0x10000) and if not found then,
  • FSBL-M.2 (CM33) is looked for at an offset 640LBA (640 * 512 = 0x50000).
  • FSBL-A.1 (CA35) is first looked for at an offset 1152LBA (1152 * 512 = 0x90000) and if not found then,
  • FSBL-A.2 (CA35) is looked for at an offset 1664LBA (1664 * 512 = 0xD0000) 
  • Signed ST image containing BOOTROM header needs to be loaded at this address.
  • When booted from SD, BOOTROM first validates if the image is authentic using header and then copies it in SYSRAM at 0x0E002600 for CA35 and 0x0E080000 for CM33. After copying it starts executing the image.