cancel
Showing results for 
Search instead for 
Did you mean: 

Regarding Bare metal Booting through SD-Card

Aks
Associate III
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
1 ACCEPTED SOLUTION

Accepted Solutions
Mayankbht
ST Employee

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.

View solution in original post

1 REPLY 1
Mayankbht
ST Employee

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.