#include MEMORY { ram : ORIGIN = 0xA0000000, LENGTH = (64*1024*1024) rom : ORIGIN = 0x00000000, LENGTH = (32*1024*1024) } SECTIONS { SECTIONS_BEGIN SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000)) // vector page gets remapped from ROM to RAM SECTION_text (rom, 0x00002000, LMA_EQ_VMA) SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA) SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA) SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA) SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA) SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA) SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA) SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA) SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table)) SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA) CYG_LABEL_DEFN(__heap1) = ALIGN (0x8); SECTIONS_END } /* SECTION_config (ram, 0xA0001000, LMA_EQ_VMA) */