H753_CPP_AS6C4008_FMC_DaughterBoard_02
Loading...
Searching...
No Matches
H753 Memory Map and Linker Notes

Overview

This page documents the linker and startup mechanics that support initialized application objects stored in external FMC SRAM.

FLASH Linker Script

The normal execution linker script is STM32H753ZITX_FLASH.ld.

It defines:

  • the external SRAM memory region at 0x60000000
  • the physical SRAM capacity as 512 KB
  • the .sramdata output section placed into that region at runtime
  • the load image for that section in internal FLASH
  • the linker symbols consumed by globalDataCopy.s

Startup Copy Symbols

The following symbols coordinate the startup copy path:

  • _sisram : FLASH load address of initialized .sramdata
  • _ssramdata : start address of .sramdata in external SRAM
  • _esramdata : end address of .sramdata in external SRAM

The linker aligns the section boundaries to 4-byte addresses so the startup helper can copy the section as 32-bit words.

MPU Relationship

On STM32H753, the linker-defined SRAM window and the MPU configuration must remain consistent.

The validated MPU settings use:

  • base address: 0x60000000
  • region size: MPU_REGION_SIZE_512KB

This is intentionally matched to the physical 512 KB AS6C4008 device so the protected region and the actual SRAM footprint describe the same address range.

RAM Linker Script

STM32H753ZITX_RAM.ld remains a separate debug-in-RAM linker script. It is documented here so the project layout remains complete, but the external SRAM integration flow described in this project is built around the FLASH linker script.