* Target: STM32F767IG * The file is provided under the BSD license. */ ENTRY(Reset_Handler) MEMORY { FLASH (RX) : ORIGIN = 0x08000000, LENGTH = 1M SRAM (RWX) : ORIGIN = 0x20000000, LENGTH = 512K ITCMRAM (RWX) : ORIGIN = 0x00000000, LENGTH = 16K /* --- begin generated external memories -- */ SDRAM (RWX) : ORIGIN = 0xc0000000, LENGTH = 32M /* --- end generated external memories -- */ } _estack = 0x20080000; SECTIONS { .isr_vector : { . = ALIGN(4); KEEP(*(.isr_vector)) . = ALIGN(4); } > FLASH .text : { . = ALIGN(4); _stext = .; *(.text) *(.text*) *(.rodata) *(.rodata*) *(.glue_7) *(.glue_7t) KEEP(*(.init)) KEEP(*(.fini)) . = ALIGN(4); _etext = .; } > FLASH .ARM.extab : { . = ALIGN(4); *(.ARM.extab) *(.gnu.linkonce.armextab.*) . = ALIGN(4); } > FLASH .exidx : { . = ALIGN(4); PROVIDE(__exidx_start = .); *(.ARM.exidx*) . = ALIGN(4); PROVIDE(__exidx_end = .); } > FLASH .ARM.attributes : { *(.ARM.attributes) } > FLASH .preinit_array : { PROVIDE(__preinit_array_start = .); KEEP(*(.preinit_array*)) PROVIDE(__preinit_array_end = .); } > FLASH .init_array : { PROVIDE(__init_array_start = .); KEEP(*(SORT(.init_array.*))) KEEP(*(.init_array*)) PROVIDE(__init_array_end = .); } > FLASH .fini_array : { PROVIDE(__fini_array_start = .); KEEP(*(.fini_array*)) KEEP(*(SORT(.fini_array.*))) PROVIDE(__fini_array_end = .); } > FLASH . = ALIGN(4); _sidata = .; .data : AT(_sidata) { . = ALIGN(4); _sdata = .; PROVIDE(__data_start__ = _sdata); *(.data) *(.data*) . = ALIGN(4); _edata = .; PROVIDE(__data_end__ = _edata); } > SRAM .bss : { . = ALIGN(4); _sbss = .; PROVIDE(__bss_start__ = _sbss); *(.bss) *(.bss*) *(COMMON) . = ALIGN(4); _ebss = .; PROVIDE(__bss_end__ = _ebss); } > SRAM /* --- begin generated external memory sections -- */ . = _sidata + SIZEOF(.data); . = ALIGN(4); _sisdram_text = .; .sdram_text : AT(_sisdram_text) { . = ALIGN(4); _ssdram_text = .; PROVIDE(__sdram_text_start = _ssdram_text); *(.sdram_text) *(.sdram_text*) . = ALIGN(4); _esdram_text = .; PROVIDE(__sdram_text_end = _esdram_text); } > SDRAM . = _sisdram_text + SIZEOF(.sdram_text); . = ALIGN(4); _sisdram_data = .; .sdram_data : AT(_sisdram_data) { . = ALIGN(4); _ssdram_data = .; PROVIDE(__sdram_data_start = _ssdram_data); *(.sdram_data) *(.sdram_data*) . = ALIGN(4); _esdram_data = .; PROVIDE(__sdram_data_end = _esdram_data); } > SDRAM .sdram_bss (NOLOAD) : { . = ALIGN(4); _ssdram_bss = .; PROVIDE(__sdram_bss_start = _ssdram_bss); *(.sdram_bss) *(.sdram_bss*) . = ALIGN(4); _esdram_bss = .; PROVIDE(__sdram_bss_end = _esdram_bss); } > SDRAM /* --- end generated external memory sections -- */ PROVIDE(end = .); .heap (NOLOAD) : { . = ALIGN(4); PROVIDE(__heap_start__ = .); KEEP(*(.heap)) . = ALIGN(4); PROVIDE(__heap_end__ = .); } > SRAM .reserved_for_stack (NOLOAD) : { . = ALIGN(4); PROVIDE(__reserved_for_stack_start__ = .); KEEP(*(.reserved_for_stack)) . = ALIGN(4); PROVIDE(__reserved_for_stack_end__ = .); } > SRAM } |