MEMORY { rom : ORIGIN = 0xBFC00000, LENGTH = 0x00002000 /* 8K */ ram : ORIGIN = 0x40000000, LENGTH = 0x04000000 /* 64M */ flash : ORIGIN = 0xA4000000, LENGTH = 0x00800000 /* 8M */ io : ORIGIN = 0xA0000000, LENGTH = 0x00800000 /* 8M */ } stack_ptr = 0x7FFFEFF0; SECTIONS { ROM : { start = ALIGN(4); entry = ALIGN(4); _entry = ALIGN(4); __entry = ALIGN(4); *(.init) . = ORIGIN(rom) + 0x080; *(.ktext) *(.text*) *(.rodata*) } > rom .data ORIGIN(ram) : { _ram_start = ALIGN(4); __bss_start = ALIGN(4); *(.*bss) _end = ALIGN(4); } > ram _flash_start = ORIGIN(flash); }