From aef27e1f0c69516bbcf13d7986e204502d708ec4 Mon Sep 17 00:00:00 2001 From: Rafaël Carré Date: Sun, 9 Nov 2008 06:17:21 +0000 Subject: Sansav2 Bootloader Adds read-only SD driver, largely copied from ata-sd-pp.c Only tested on the embedded SD, on the Clip First steps to build a Normal firmware git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19045 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/as3525/app.lds | 126 +++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 firmware/target/arm/as3525/app.lds (limited to 'firmware/target/arm/as3525/app.lds') diff --git a/firmware/target/arm/as3525/app.lds b/firmware/target/arm/as3525/app.lds new file mode 100644 index 0000000000..08b119eb3f --- /dev/null +++ b/firmware/target/arm/as3525/app.lds @@ -0,0 +1,126 @@ +#include "config.h" + +ENTRY(start) + +OUTPUT_FORMAT(elf32-littlearm) +OUTPUT_ARCH(arm) +STARTUP(target/arm/crt0.o) + +#define PLUGINSIZE PLUGIN_BUFFER_SIZE +#define CODECSIZE CODEC_SIZE + +#ifdef DEBUG +#define STUBOFFSET 0x10000 +#else +#define STUBOFFSET 0 +#endif + +#include "cpu.h" +#define IRAMSIZE 0x50000 +#define DRAMSIZE (MEMORYSIZE * 0x100000) - STUBOFFSET - PLUGINSIZE - CODECSIZE + +#define IRAMORIG 0x0 +#define DRAMORIG 0x30000000 + STUBOFFSET + +/* End of the audio buffer, where the codec buffer starts */ +#define ENDAUDIOADDR (DRAMORIG + DRAMSIZE) + +/* Where the codec buffer ends, and the plugin buffer starts */ +#define ENDADDR (ENDAUDIOADDR + CODECSIZE) + +MEMORY +{ + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE +} + +SECTIONS +{ + loadaddress = 0x30000000; + + .vectors DRAMORIG : + { + _vectorstart = .; + *(.vectors*); + *(.init.text) + . = ALIGN(0x4); + } > DRAM + + .text : + { + _textstart = .; + *(.text) + *(.text*) + *(.icode) + *(.glue_7) + *(.glue_7t) + . = ALIGN(0x4); + } > DRAM + + .rodata : + { + *(.rodata) /* problems without this, dunno why */ + *(.rodata*) + *(.rodata.str1.1) + *(.rodata.str1.4) + *(.irodata*) + . = ALIGN(0x4); + } > DRAM + + .data : + { + *(.data*) + *(.idata*) + . = ALIGN(0x4); + } > DRAM + + /DISCARD/ : + { + *(.eh_frame) + } + + _initdata_end =.; + + .stack (NOLOAD) : + { + *(.stack) + stackbegin = .; + . += 0x2000; + stackend = .; + } > DRAM + + .bss (NOLOAD) : + { + _edata = .; + *(.bss*) + *(.ibss*) + *(COMMON) + . = ALIGN(0x4); + _end = .; + } > DRAM + + .audiobuf (NOLOAD) : + { + . = ALIGN(4); + _audiobuffer = .; + audiobuffer = .; + } > DRAM + + .audiobufend ENDAUDIOADDR (NOLOAD) : + { + audiobufend = .; + _audiobufend = .; + } > DRAM + + .codec ENDAUDIOADDR (NOLOAD) : + { + codecbuf = .; + _codecbuf = .; + } + + .plugin ENDADDR (NOLOAD) : + { + _pluginbuf = .; + pluginbuf = .; + } +} -- cgit v1.2.3