|
H753_CPP_AS6C4008_FMC_DaughterBoard_02
|
The SRAM integration path answers a different question than the raw validation suite:
"Can the firmware safely use external SRAM for initialized application data?"
This is implemented in sram_integration.c and depends on startup support from globalDataCopy.s plus linker support from STM32H753ZITX_FLASH.ld.
The integration flow depends on three coordinated elements:
.sramdata linker section placed into external SRAM at runtimeThe startup copy routine uses linker-defined symbols:
_sisram : FLASH load address of .sramdata_ssramdata : SRAM start address of .sramdata_esramdata : SRAM end address of .sramdataThe integration test declares initialized objects in .sramdata, prints them after startup copy, modifies selected fields, and then performs a self-checking PASS/FAIL verification.
The H753 project intentionally keeps the staged raw byte-dump diagnostics in SramIntegration_RunStructRawDumpTest(). Those diagnostics proved useful during the H753 investigation because they made it possible to see exactly which bytes changed after each update phase.
The build-time switch SRAM_INTEGRATION_TEST_ENABLE in main.c is used to select this integration-oriented execution path explicitly.
When the macro is enabled:
.sramdata content is copied from FLASH into external SRAMWhen the macro is disabled: