diff options
| author | Michael Sevakis <jethead71@rockbox.org> | 2011-01-15 09:38:23 +0000 |
|---|---|---|
| committer | Michael Sevakis <jethead71@rockbox.org> | 2011-01-15 09:38:23 +0000 |
| commit | f74806e8bc9329baa5faf29cbfeb29eda93c7c32 (patch) | |
| tree | 2d27693c1fea19777696c26d901e4aaddad8ae57 | |
| parent | 0647c9e1e77ccde4ef6c308282dbec5536afdf21 (diff) | |
| download | rockbox-f74806e8bc9329baa5faf29cbfeb29eda93c7c32.zip rockbox-f74806e8bc9329baa5faf29cbfeb29eda93c7c32.tar.gz rockbox-f74806e8bc9329baa5faf29cbfeb29eda93c7c32.tar.bz2 rockbox-f74806e8bc9329baa5faf29cbfeb29eda93c7c32.tar.xz | |
Oops...have to mind the boot.lds variation in /firmware/target/arm/philips by bootloader USB mode or not.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29057 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/target/arm/philips/boot.lds | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/firmware/target/arm/philips/boot.lds b/firmware/target/arm/philips/boot.lds index 0ea3102..411d7b1 100644 --- a/firmware/target/arm/philips/boot.lds +++ b/firmware/target/arm/philips/boot.lds @@ -1,5 +1,7 @@ #include "config.h" +/* Can't link all Philips ARM devices the same way at this time */ +#ifdef HAVE_BOOTLOADER_USB_MODE ENTRY(start) OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) @@ -135,3 +137,70 @@ SECTIONS freebufferend = .; } } + +#else /* !HAVE_BOOTLOADER_USB_MODE */ +ENTRY(start) +OUTPUT_FORMAT(elf32-littlearm) +OUTPUT_ARCH(arm) +STARTUP(target/arm/crt0-pp-bl.o) + +#define DRAMSIZE (MEMORYSIZE * 0x100000) + +#define DRAMORIG 0x10000000 +#ifndef IRAMORIG +#define IRAMORIG 0x40000000 +#endif +#define IRAMSIZE 0x20000 +#define FLASHORIG 0x001f0000 +#define FLASHSIZE 2M + +MEMORY +{ + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE +} + +SECTIONS +{ + . = IRAMORIG; + + .text : { + *(.init.text) + *(.text*) + *(.glue_7) + *(.glue_7t) + } > IRAM + + .data : { + *(.icode) + *(.irodata) + *(.idata) + *(.data*) + *(.ncdata*) + *(.rodata*) + _dataend = . ; + } > IRAM + + .stack (NOLOAD) : { + *(.stack) + _stackbegin = .; + stackbegin = .; + . += 0x2000; + _stackend = .; + stackend = .; + } > IRAM + + /* The bss section is too large for IRAM - we just move it 16MB into the + DRAM */ + + . = DRAMORIG; + .bss . + (16*1024*1024) (NOLOAD) : { + _edata = .; + *(.bss*); + *(.ibss); + *(COMMON) + *(.ncbss*); + _end = .; + } > DRAM +} +#endif /* HAVE_BOOTLOADER_USB_MODE */ |