From 8e633385912494ff5e871ec4c264d3a7db46fb98 Mon Sep 17 00:00:00 2001 From: Marcin Bukat Date: Thu, 18 Jul 2013 23:55:35 +0200 Subject: hwstub rk27xx port Change-Id: I85ac57117911544b65ccd56eb16303e30be67cab --- utils/hwstub/stub/rk27xx/hwstub.lds | 88 +++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 utils/hwstub/stub/rk27xx/hwstub.lds (limited to 'utils/hwstub/stub/rk27xx/hwstub.lds') diff --git a/utils/hwstub/stub/rk27xx/hwstub.lds b/utils/hwstub/stub/rk27xx/hwstub.lds new file mode 100644 index 0000000000..89b2b1961d --- /dev/null +++ b/utils/hwstub/stub/rk27xx/hwstub.lds @@ -0,0 +1,88 @@ +ENTRY(start) +OUTPUT_FORMAT(elf32-littlearm) +OUTPUT_ARCH(arm) +STARTUP(rk27xx/crt0.o) + +#define DRAMORIG 0x60000000 +#define DRAMSIZE (16 * 0x100000) +#define DRAM_END_ADDRESS (DRAMORIG + DRAMSIZE) + +#define IRAMORIG 0x00000000 +#define IRAMSIZE 4K + +MEMORY +{ + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE +} + +SECTIONS +{ + .relocstart (NOLOAD) : { + _relocstart = .; + } > DRAM + + .text : { + oc_codestart = .; + *(.init.text) + *(.text*) + *(.icode*) + *(.glue_7*) + } > DRAM + + .intvect : { + _intvectstart = . ; + KEEP(*(.intvect)) + _intvectend = . ; + } > IRAM AT > DRAM + _intvectcopy = LOADADDR(.intvect) ; + + .rodata : { + *(.rodata*) + *(.irodata*) + . = ALIGN(0x4); + } > DRAM + + .data : { + *(.data*) + *(.idata*) + . = ALIGN(0x4); + } > DRAM + + .relocend (NOLOAD) : { + _relocend = .; + } > DRAM + + .stack (NOLOAD) : + { + *(.stack) + oc_stackstart = .; + _stackbegin = .; + stackbegin = .; + . += 0x2000; + _stackend = .; + stackend = .; + _irqstackbegin = .; + . += 0x400; + _irqstackend = .; + _fiqstackbegin = .; + . += 0x400; + _fiqstackend = .; + oc_stackend = .; + } > DRAM + + .bss (NOLOAD) : { + _edata = .; + *(.bss*); + *(.ibss); + *(COMMON); + . = ALIGN(0x4); + _end = .; + oc_codeend = .; + oc_bufferstart = .; + } > DRAM + + .dramend DRAM_END_ADDRESS (NOLOAD) : { + oc_bufferend = .; + } > DRAM +} -- cgit v1.2.3