From dbff1f20eec246d9c9f720b1fa64696fd7671737 Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Sun, 27 Nov 2005 23:55:13 +0000 Subject: Archos targets: Self-extractor for on-disk firmware images to work around the file size limit. Re-uses rockbox.ucl. Not yet integrated with build system. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8089 a1c6a512-1295-4272-9138-f99709370657 --- firmware/decompressor/link.lds | 74 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100755 firmware/decompressor/link.lds (limited to 'firmware/decompressor/link.lds') diff --git a/firmware/decompressor/link.lds b/firmware/decompressor/link.lds new file mode 100755 index 0000000000..9cb4be8830 --- /dev/null +++ b/firmware/decompressor/link.lds @@ -0,0 +1,74 @@ +OUTPUT_FORMAT(elf32-sh) + +#define DRAMORIG 0x09000000 +#define DRAMSIZE (MEMORYSIZE * 0x00100000) +#define IRAMORIG 0x0f000000 +#define IRAMSIZE 0x00001000 + +MEMORY +{ + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE +} + +SECTIONS +{ + .vectors : + { + _loadaddress = .; + _dramend = . + DRAMSIZE; + *(.vectors) + . = ALIGN(0x200); + } > DRAM + + .text : + { + *(.start) + *(.text) + . = ALIGN(0x4); + } > DRAM + + .rodata : + { + *(.rodata*) + *(.rodata.str1.1) + *(.rodata.str1.4) + . = ALIGN(0x4); + } > DRAM + + .data : + { + *(.data) + . = ALIGN(0x4); + _imgstart = .; + *(.image) + . = ALIGN(0x4); + _imgend = .; + _iramcopy = .; + } > DRAM + + .iram IRAMORIG : AT ( _iramcopy ) + { + _iramstart = .; + *(.icode) + *(.idata) + . = ALIGN(0x4); + _iramend = .; + } > IRAM + + .stack : + { + _stackbegin = .; + *(.stack) + . += 0x0800; + _stackend = .; + } > IRAM + + .bss : + { + _edata = .; + *(.bss) + . = ALIGN(0x4); + _end = .; + } > DRAM +} -- cgit v1.2.3