define symbol __ICFEDIT_region_TCM_start__ = 0x004E0000; define symbol __ICFEDIT_region_TCM_end__ = 0x004FFFFF; define memory mem with size = 4G; define region TCM_region = mem:[from __ICFEDIT_region_TCM_start__ to __ICFEDIT_region_TCM_end__]; define block CSTACK with alignment = 8, size = 0x4000 { }; define block HEAP with alignment = 4, size = 0x2000 { }; define block PADDING with alignment = 4, size = 0x1000 { }; define block flashbuf with fixed order{section LOWEND, block PADDING, section HIGHSTART}; keep { block PADDING}; do not initialize {section .noinit, section .PRGDATA}; "PrgCode": place at start of TCM_region {section .PRGCODE}; "T32CodeBegin": place in TCM_region {readonly section .T32CODEBEGIN}; "FuseCode": place in TCM_region {section .FUSECODE}; "PrgData": place in TCM_region {section .PRGDATA}; "DevDscr": place in TCM_region {section .DEVDSCR}; place in TCM_region {readonly}; place in TCM_region {readwrite, block HEAP, block CSTACK}; "BUF": place in TCM_region {block flashbuf}; "T32CodeEnd": place in TCM_region {section .T32CODEEND};