From d2249dce6f4dda8cb71e048ced6562f26515d27f Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Fri, 19 Jul 2013 08:18:16 -0400 Subject: Combine PortalPlayer .lds files into one for app and boot. These nearly identical files are multiplying like rabbits as PP targets are added and make SoC-related changes a PITA. Just include the master .lds file from the target one as was done for bootloader USB. Change-Id: I65e9e653030f0688b1728e32ada16abf2932e029 --- firmware/target/arm/pp/boot-pp.lds | 92 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 firmware/target/arm/pp/boot-pp.lds (limited to 'firmware/target/arm/pp/boot-pp.lds') diff --git a/firmware/target/arm/pp/boot-pp.lds b/firmware/target/arm/pp/boot-pp.lds new file mode 100644 index 0000000000..602c3bf7ab --- /dev/null +++ b/firmware/target/arm/pp/boot-pp.lds @@ -0,0 +1,92 @@ +#include "config.h" + +ENTRY(start) +OUTPUT_FORMAT(elf32-littlearm) +OUTPUT_ARCH(arm) +STARTUP(target/arm/pp/crt0-pp-bl.o) + +#define DRAMSIZE (MEMORYSIZE * 0x100000) + +#if CONFIG_CPU == PP6100 +#define DRAMORIG 0x10f00000 +#ifndef IRAMORIG +#define IRAMORIG 0x40000000 +#endif +#define IRAMSIZE 0x20000 +#define FLASHORIG 0x001f0000 +#define FLASHSIZE 2M +#if CONFIG_CPU == PP5020 +#define DRAMORIG 0x10000000 +#define IRAMORIG 0x40000000 +#define IRAMSIZE 0x18000 +#define FLASHORIG 0x001f0000 +#define FLASHSIZE 2M +#elif (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) +#define DRAMORIG 0x10000000 +#ifndef IRAMORIG +#define IRAMORIG 0x40000000 +#endif +#define IRAMSIZE 0x20000 +#define FLASHORIG 0x001f0000 +#define FLASHSIZE 2M +#elif CONFIG_CPU == PP5002 +#define DRAMORIG 0x28000000 +#define IRAMORIG 0x40000000 +#define IRAMSIZE 0x18000 +#define FLASHORIG 0x001f0000 +#define FLASHSIZE 2M +#endif + +MEMORY +{ + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE +} + +SECTIONS +{ +#ifdef SANSA_PP_ERASE + . = IRAMORIG+0x4000; +#else + . = IRAMORIG; +#endif + + .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 +} -- cgit v1.2.3