summaryrefslogtreecommitdiff
path: root/firmware/rom.lds
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/rom.lds')
-rw-r--r--firmware/rom.lds22
1 files changed, 19 insertions, 3 deletions
diff --git a/firmware/rom.lds b/firmware/rom.lds
index aee179b9e7..4da1e24c60 100644
--- a/firmware/rom.lds
+++ b/firmware/rom.lds
@@ -1,17 +1,30 @@
1#include "config.h" 1#include "config.h"
2 2
3ENTRY(start) 3ENTRY(start)
4#if CONFIG_CPU == MCF5249
5OUTPUT_FORMAT(elf32-m68k)
6#else
4OUTPUT_FORMAT(elf32-sh) 7OUTPUT_FORMAT(elf32-sh)
8#endif
5INPUT(crt0.o) 9INPUT(crt0.o)
6 10
7#define PLUGINSIZE 0x8000 11#define PLUGINSIZE 0x8000
8 12
9#define DRAMORIG 0x09000000
10#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE 13#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE
14
15#ifdef IRIVER_H100
16#define DRAMORIG 0x30000000
17#define IRAMORIG 0x10000000
18#define IRAMSIZE 0x18000
19#define FLASHORIG 0x001f0000
20#define FLASHSIZE 2M
21#else
22#define DRAMORIG 0x09000000
11#define IRAMORIG 0x0f000000 23#define IRAMORIG 0x0f000000
12#define IRAMSIZE 0x1000 24#define IRAMSIZE 0x1000
13#define FLASHORIG 0x02000000 + ROM_START 25#define FLASHORIG 0x02000000 + ROM_START
14#define FLASHSIZE 256K - ROM_START 26#define FLASHSIZE 256K - ROM_START
27#endif
15 28
16#define ENDADDR (DRAMORIG + DRAMSIZE) 29#define ENDADDR (DRAMORIG + DRAMSIZE)
17 30
@@ -33,7 +46,7 @@ SECTIONS
33 _datastart = .; 46 _datastart = .;
34 *(.resetvectors); 47 *(.resetvectors);
35 *(.vectors); 48 *(.vectors);
36 . = _datastart + 0x200; 49 . = ALIGN(0x200);
37 *(.data) 50 *(.data)
38 . = ALIGN(0x4); 51 . = ALIGN(0x4);
39 _dataend = .; 52 _dataend = .;
@@ -53,12 +66,13 @@ SECTIONS
53 .rodata : 66 .rodata :
54 { 67 {
55 *(.rodata) 68 *(.rodata)
69 *(.rodata.str1.1)
56 *(.rodata.str1.4) 70 *(.rodata.str1.4)
57 . = ALIGN(0x4); 71 . = ALIGN(0x4);
58 _iramcopy = .; 72 _iramcopy = .;
59 } > FLASH 73 } > FLASH
60 74
61 .iram 0xf000000 : AT ( _iramcopy ) 75 .iram IRAMORIG : AT ( _iramcopy )
62 { 76 {
63 _iramstart = .; 77 _iramstart = .;
64 *(.icode) 78 *(.icode)
@@ -70,8 +84,10 @@ SECTIONS
70 { 84 {
71 *(.stack) 85 *(.stack)
72 _stackbegin = .; 86 _stackbegin = .;
87 stackbegin = .;
73 . += 0x2000; 88 . += 0x2000;
74 _stackend = .; 89 _stackend = .;
90 stackend = .;
75 } > DRAM 91 } > DRAM
76 92
77 .bss : 93 .bss :