#include "config.h" #ifdef CPU_ARM ENTRY(start) STARTUP(crt0.o) OUTPUT_FORMAT(elf32-littlearm) #else #error "Unsupported CPU!" #endif #ifdef EXAMPLE MEMORY { IRAM : ORIGIN = 0, LENGTH = 0x10000 DRAM : ORIGIN = 0xc00000, LENGTH = 0x6000 DRAM_API : ORIGIN = 0xc06000, LENGTH = 0x100 } SECTIONS { .text : { *(.init*) *(.text) *(.text*) *(.rodata) *(.rodata*) *(.glue_7) *(.glue_7t) } >DRAM .gdbapi : { *(.gdbapi) } >DRAM_API .data : { *(.data) } >DRAM .vectors : { _vectorsstart = .; *(.vectors) _vectorsend = .; } >IRAM AT>DRAM _vectorscopy = LOADADDR(.vectors); .stack (NOLOAD) : { stackbegin = .; . += 0x400; _stub_stack = .; . += 0x200; stackend = .; } >DRAM .bss (NOLOAD) : { _edata = .; *(.bss) _end = .; } >DRAM } #else SECTIONS { .vectors 0x09000000 : { *(.vectors); . = ALIGN(0x200); start.o(.text) *(.rodata) } .text : { *(.text) } .bss : { _stack = . + 0x1000; _stub_stack = _stack + 0x1000; } .pad 0x0900C800 : { LONG(0); } } #endif