diff options
-rw-r--r-- | firmware/app.lds | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/firmware/app.lds b/firmware/app.lds index 5397910666..aab8900b76 100644 --- a/firmware/app.lds +++ b/firmware/app.lds | |||
@@ -1,25 +1,38 @@ | |||
1 | #include "config.h" | 1 | #include "config.h" |
2 | 2 | ||
3 | ENTRY(start) | 3 | ENTRY(start) |
4 | #if CONFIG_CPU == MCF5249 | ||
5 | OUTPUT_FORMAT(elf32-m68k) | ||
6 | #else | ||
4 | OUTPUT_FORMAT(elf32-sh) | 7 | OUTPUT_FORMAT(elf32-sh) |
8 | #endif | ||
5 | INPUT(crt0.o) | 9 | INPUT(crt0.o) |
6 | 10 | ||
7 | #define PLUGINSIZE 0x8000 | 11 | #define PLUGINSIZE 0x8000 |
8 | 12 | ||
9 | #ifdef DEBUG | 13 | #ifdef DEBUG |
10 | #define DRAMSIZE 0x1f0000 - PLUGINSIZE | 14 | #define STUBOFFSET 0x10000 |
11 | #define ORIGADDR 0x09010000 | ||
12 | |||
13 | #else | 15 | #else |
14 | #define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE | 16 | #define STUBOFFSET 0 |
15 | #define ORIGADDR 0x09000000 | ||
16 | #endif | 17 | #endif |
18 | |||
19 | #define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET | ||
17 | #define ENDADDR (ORIGADDR + DRAMSIZE) | 20 | #define ENDADDR (ORIGADDR + DRAMSIZE) |
18 | 21 | ||
22 | #ifdef IRIVER_H100 | ||
23 | #define DRAMORIG 0x20000000 + STUBOFFSET | ||
24 | #define IRAMORIG 0x10000000 | ||
25 | #define IRAMSIZE 0x18000 | ||
26 | #else | ||
27 | #define DRAMORIG 0x09000000 + STUBOFFSET | ||
28 | #define IRAMORIG 0x0f000000 | ||
29 | #define IRAMSIZE 0x1000 | ||
30 | #endif | ||
31 | |||
19 | MEMORY | 32 | MEMORY |
20 | { | 33 | { |
21 | DRAM : ORIGIN = ORIGADDR, LENGTH = DRAMSIZE | 34 | DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE |
22 | IRAM : ORIGIN = 0x0f000000, LENGTH = 0x1000 | 35 | IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE |
23 | } | 36 | } |
24 | 37 | ||
25 | SECTIONS | 38 | SECTIONS |