MEMORY { ROM : ORIGIN = 0x08000000, LENGTH = 32M EWRAM : ORIGIN = 0x02000000, LENGTH = 4M - 4k DTCM : ORIGIN = 0x0b000000, LENGTH = 16k ITCM : ORIGIN = 0x01000000, LENGTH = 32k } REGION_ALIAS ("REGION_START", EWRAM); REGION_ALIAS ("REGION_VECTOR", DTCM); REGION_ALIAS ("REGION_TEXT", EWRAM); REGION_ALIAS ("REGION_TEXT_LOAD", EWRAM); REGION_ALIAS ("REGION_RODATA", EWRAM); REGION_ALIAS ("REGION_RODATA_LOAD", EWRAM); REGION_ALIAS ("REGION_DATA", EWRAM); REGION_ALIAS ("REGION_DATA_LOAD", EWRAM); REGION_ALIAS ("REGION_FAST_TEXT", ITCM); REGION_ALIAS ("REGION_FAST_TEXT_LOAD", EWRAM); REGION_ALIAS ("REGION_FAST_DATA", DTCM); REGION_ALIAS ("REGION_FAST_DATA_LOAD", EWRAM); REGION_ALIAS ("REGION_BSS", EWRAM); REGION_ALIAS ("REGION_WORK", EWRAM); REGION_ALIAS ("REGION_STACK", EWRAM); REGION_ALIAS ("REGION_NOCACHE", EWRAM); REGION_ALIAS ("REGION_NOCACHE_LOAD", EWRAM); __dtcm_top = ORIGIN (DTCM) + LENGTH (DTCM); __irq_flags = __dtcm_top - 0x08; __irq_vector = __dtcm_top - 0x04; SECTIONS { .sbss : { __sbss_start = ABSOLUTE(.); __sbss_start__ = ABSOLUTE(.); *(.sbss) . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ __sbss_end = ABSOLUTE(.); } > DTCM } INCLUDE linkcmds.armv4