summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2003-12-12 13:29:34 +0000
committerDaniel Stenberg <daniel@haxx.se>2003-12-12 13:29:34 +0000
commitf74dd393716efe56beb2e348b87daf04ddf0f717 (patch)
tree0601c8d22b26a1c2179ab8359c6e37dd249002d7
parent8d69f78423978e20997b34709d5b6d39896c9237 (diff)
downloadrockbox-f74dd393716efe56beb2e348b87daf04ddf0f717.zip
rockbox-f74dd393716efe56beb2e348b87daf04ddf0f717.tar.gz
rockbox-f74dd393716efe56beb2e348b87daf04ddf0f717.tar.bz2
rockbox-f74dd393716efe56beb2e348b87daf04ddf0f717.tar.xz
link support for Neo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4133 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/app.lds79
1 files changed, 79 insertions, 0 deletions
diff --git a/firmware/app.lds b/firmware/app.lds
index 9fef2ec..83a09a8 100644
--- a/firmware/app.lds
+++ b/firmware/app.lds
@@ -1,3 +1,5 @@
+#include "config.h"
+
ENTRY(start)
OUTPUT_FORMAT(elf32-sh)
INPUT(crt0.o)
@@ -16,12 +18,88 @@ INPUT(crt0.o)
MEMORY
{
+#ifdef NEO_MEMORY
+ ROM : ORIGIN = 0x00020000, LENGTH = 0x1E0000
+ SRAM : ORIGIN = 0x0C000000, LENGTH = 0x40000
+#else
DRAM : ORIGIN = ORIGADDR, LENGTH = DRAMSIZE
+#endif
IRAM : ORIGIN = 0x0f000000, LENGTH = 0x1000
}
SECTIONS
{
+#ifdef NEO_MEMORY
+ .bss :
+ {
+ _edata = .;
+ *(.bss)
+ *(COMMON)
+ _end = .;
+ } > SRAM
+
+ .text :
+ {
+ . = ALIGN(0x4);
+ *(.vectors);
+ . = ALIGN(0x200);
+ *(.init.text)
+ *(.text)
+ } > ROM
+
+ .rodata :
+ {
+ *(.rodata)
+ *(.rodata.str1.4)
+ . = ALIGN(0x4);
+ } > ROM
+
+ .data : AT ( LOADADDR(.romdata) )
+ {
+ _datastart = .;
+ *(.data)
+ _dataend = .;
+ } > SRAM
+
+ .iram : AT ( _iramcopy )
+ {
+ _iramstart = .;
+ *(.icode)
+ *(.idata)
+ _iramend = .;
+ } > IRAM
+
+ .romdata :
+ {
+ _datacopy = .;
+ . += SIZEOF(.data);
+ _iramcopy = .;
+ . += SIZEOF(.iram);
+ } > ROM
+
+ .stack :
+ {
+ _stackbegin = .;
+ *(.stack)
+ . += 0x1000;
+ _stackend = .;
+ } > SRAM
+
+ .mp3buf :
+ {
+ _mp3buffer = .;
+ } > SRAM
+
+ .mp3end 0x0C040000 - 0x300:
+ {
+ _mp3end = .;
+ } > SRAM
+
+ .plugin 0x0C040000:
+ {
+ _pluginbuf = .;
+ } > SRAM
+#else
.vectors :
{
*(.resetvectors);
@@ -97,4 +175,5 @@ SECTIONS
*(.idata)
_iramend = .;
} > IRAM
+#endif
}