summaryrefslogtreecommitdiffstats
path: root/firmware/rom.lds
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2004-09-03 13:02:16 +0000
committerDaniel Stenberg <daniel@haxx.se>2004-09-03 13:02:16 +0000
commit32cd555973ce670f4f947f1bc052fab00c4b0844 (patch)
tree71cdbadb74b6334a16837bf59aacc2cf27f3d8bf /firmware/rom.lds
parentac9ad1a25dc46001f85f9e758804cc3f7dd5ae00 (diff)
downloadrockbox-32cd555973ce670f4f947f1bc052fab00c4b0844.tar.gz
rockbox-32cd555973ce670f4f947f1bc052fab00c4b0844.tar.bz2
rockbox-32cd555973ce670f4f947f1bc052fab00c4b0844.zip
lds file for rombox builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5034 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/rom.lds')
-rw-r--r--firmware/rom.lds95
1 files changed, 95 insertions, 0 deletions
diff --git a/firmware/rom.lds b/firmware/rom.lds
new file mode 100644
index 0000000000..2996ee6205
--- /dev/null
+++ b/firmware/rom.lds
@@ -0,0 +1,95 @@
+ENTRY(start)
+OUTPUT_FORMAT(elf32-sh)
+INPUT(crt0.o)
+MEMORY
+{
+ DRAM : ORIGIN = 0x09000000, LENGTH = (2 * 0x100000) - 0x8000
+ IRAM : ORIGIN = 0x0f000000, LENGTH = 0x1000
+#ifdef ARCHOS_RECORDER /* recorder v1 */
+ FLASH : ORIGIN = 0x02000000 + 0x11010, LENGTH = 256K - 0x11010
+#else /* recorder v2 */
+ FLASH : ORIGIN = 0x02000000 + 0x12010, LENGTH = 256K - 0x12010
+#endif
+}
+SECTIONS
+{
+ .vectors :
+ {
+ _datacopy = .;
+ } > FLASH
+
+ .data : AT ( _datacopy )
+ {
+ _datastart = .;
+ *(.resetvectors);
+ *(.vectors);
+ . = _datastart + 0x200;
+ *(.data)
+ . = ALIGN(0x4);
+ _dataend = .;
+ } > DRAM
+
+ .datacopy :
+ {
+ . += SIZEOF(.data);
+ } > FLASH
+
+ .text :
+ {
+ *(.init.text)
+ *(.text)
+ . = ALIGN(0x4);
+ } > FLASH
+
+ .rodata :
+ {
+ *(.rodata)
+ *(.rodata.str1.4)
+ . = ALIGN(0x4);
+ } > FLASH
+
+ .iramcopy :
+ {
+ _iramcopy = .;
+ } > FLASH
+
+ .iram 0xf000000 : AT ( _iramcopy )
+ {
+ _iramstart = .;
+ *(.icode)
+ *(.idata)
+ _iramend = .;
+ } > IRAM
+
+ .stack :
+ {
+ *(.stack)
+ _stackbegin = .;
+ . += 0x2000;
+ _stackend = .;
+ } > DRAM
+
+ .bss :
+ {
+ _edata = .;
+ *(.bss)
+ *(COMMON)
+ _end = .;
+ } > DRAM
+
+ .mp3buf :
+ {
+ . = ALIGN(0x4);
+ _mp3buffer = .;
+ } > DRAM
+
+ .mp3end (0x09000000 + (2 * 0x100000) - 0x8000):
+ {
+ _mp3end = .;
+ } > DRAM
+
+ .plugin (0x09000000 + (2 * 0x100000) - 0x8000):
+ {
+ _pluginbuf = .;
+ }
+}