diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/app.lds | 33 | ||||
-rw-r--r-- | firmware/boot.lds | 4 |
2 files changed, 18 insertions, 19 deletions
diff --git a/firmware/app.lds b/firmware/app.lds index d85faf1fa9..e3f6ef2e50 100644 --- a/firmware/app.lds +++ b/firmware/app.lds | |||
@@ -32,6 +32,16 @@ INPUT(target/sh/crt0.o) | |||
32 | #define STUBOFFSET 0 | 32 | #define STUBOFFSET 0 |
33 | #endif | 33 | #endif |
34 | 34 | ||
35 | #if CONFIG_CPU==S3C2440 | ||
36 | #include "s3c2440.h" | ||
37 | #define DRAMSIZE (MEMORYSIZE * 0x100000) - 0x100 - PLUGINSIZE - STUBOFFSET - CODECSIZE - LCD_BUFFER_SIZE - TTB_SIZE | ||
38 | #elif CONFIG_CPU==DM320 | ||
39 | #include "dm320.h" | ||
40 | #define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE - LCD_BUFFER_SIZE - TTB_SIZE | ||
41 | #else | ||
42 | #define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE | ||
43 | #endif | ||
44 | |||
35 | #if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300) | 45 | #if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300) |
36 | #define DRAMORIG 0x31000000 + STUBOFFSET | 46 | #define DRAMORIG 0x31000000 + STUBOFFSET |
37 | #define IRAMORIG 0x10000000 | 47 | #define IRAMORIG 0x10000000 |
@@ -52,9 +62,9 @@ INPUT(target/sh/crt0.o) | |||
52 | #define IRAMSIZE 0x7000 | 62 | #define IRAMSIZE 0x7000 |
53 | #elif CONFIG_CPU==S3C2440 | 63 | #elif CONFIG_CPU==S3C2440 |
54 | #define DRAMORIG 0x00000100 + STUBOFFSET | 64 | #define DRAMORIG 0x00000100 + STUBOFFSET |
65 | #define IRAMORIG DRAMORIG | ||
66 | #define IRAM DRAM | ||
55 | #define IRAMSIZE 0x1000 | 67 | #define IRAMSIZE 0x1000 |
56 | /* This is not really IRAM!! Should be 0x40000000, but it doesn't work */ | ||
57 | #define IRAMORIG (MEMORYSIZE * 0x100000) - IRAMSIZE - LCD_BUFFER_SIZE - TTB_SIZE + DRAMORIG | ||
58 | #elif CONFIG_CPU==DM320 | 68 | #elif CONFIG_CPU==DM320 |
59 | #define DRAMORIG 0x00900000 + STUBOFFSET | 69 | #define DRAMORIG 0x00900000 + STUBOFFSET |
60 | #define IRAMORIG 0x00000000 | 70 | #define IRAMORIG 0x00000000 |
@@ -69,16 +79,6 @@ INPUT(target/sh/crt0.o) | |||
69 | #define IRAMSIZE 0x1000 | 79 | #define IRAMSIZE 0x1000 |
70 | #endif | 80 | #endif |
71 | 81 | ||
72 | #if CONFIG_CPU==S3C2440 | ||
73 | #include "s3c2440.h" | ||
74 | #define DRAMSIZE (MEMORYSIZE * 0x100000) - 0x100 - PLUGINSIZE - STUBOFFSET - CODECSIZE - LCD_BUFFER_SIZE - TTB_SIZE - IRAMSIZE | ||
75 | #elif CONFIG_CPU==DM320 | ||
76 | #include "dm320.h" | ||
77 | #define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE - LCD_BUFFER_SIZE - TTB_SIZE | ||
78 | #else | ||
79 | #define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE | ||
80 | #endif | ||
81 | |||
82 | /* End of the audio buffer, where the codec buffer starts */ | 82 | /* End of the audio buffer, where the codec buffer starts */ |
83 | #define ENDAUDIOADDR (DRAMORIG + DRAMSIZE) | 83 | #define ENDAUDIOADDR (DRAMORIG + DRAMSIZE) |
84 | 84 | ||
@@ -88,8 +88,9 @@ INPUT(target/sh/crt0.o) | |||
88 | MEMORY | 88 | MEMORY |
89 | { | 89 | { |
90 | DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE | 90 | DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE |
91 | #if CONFIG_CPU != S3C2440 | ||
91 | IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE | 92 | IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE |
92 | 93 | #endif | |
93 | #if CONFIG_CPU==PNX0101 | 94 | #if CONFIG_CPU==PNX0101 |
94 | IRAM0 : ORIGIN = IRAM0ORIG, LENGTH = IRAM0SIZE | 95 | IRAM0 : ORIGIN = IRAM0ORIG, LENGTH = IRAM0SIZE |
95 | #endif | 96 | #endif |
@@ -233,14 +234,14 @@ SECTIONS | |||
233 | 234 | ||
234 | _vectorscopy = LOADADDR(.vectors); | 235 | _vectorscopy = LOADADDR(.vectors); |
235 | 236 | ||
236 | .iram IRAMORIG : | 237 | .iram : |
237 | { | 238 | { |
238 | _iramstart = .; | 239 | _iramstart = .; |
239 | *(.icode) | 240 | *(.icode) |
240 | *(.irodata) | 241 | *(.irodata) |
241 | *(.idata) | 242 | *(.idata) |
242 | _iramend = .; | 243 | _iramend = .; |
243 | } >IRAM AT> DRAM | 244 | } > DRAM |
244 | 245 | ||
245 | _iramcopy = LOADADDR(.iram); | 246 | _iramcopy = LOADADDR(.iram); |
246 | 247 | ||
@@ -252,7 +253,7 @@ SECTIONS | |||
252 | _iend = .; | 253 | _iend = .; |
253 | } > DRAM | 254 | } > DRAM |
254 | 255 | ||
255 | .stack ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram) + SIZEOF(.vectors) : | 256 | .stack : |
256 | { | 257 | { |
257 | *(.stack) | 258 | *(.stack) |
258 | stackbegin = .; | 259 | stackbegin = .; |
diff --git a/firmware/boot.lds b/firmware/boot.lds index a9900517a2..d2ea10a30d 100644 --- a/firmware/boot.lds +++ b/firmware/boot.lds | |||
@@ -9,10 +9,8 @@ OUTPUT_FORMAT(elf32-littlearm) | |||
9 | OUTPUT_ARCH(arm) | 9 | OUTPUT_ARCH(arm) |
10 | #ifdef CPU_PP | 10 | #ifdef CPU_PP |
11 | INPUT(target/arm/crt0-pp-bl.o) | 11 | INPUT(target/arm/crt0-pp-bl.o) |
12 | #elif CONFIG_CPU==DM320 | 12 | #elif defined(OLYMPUS_MROBE_500) |
13 | INPUT(target/arm/tms320dm320/crt0.o) | 13 | INPUT(target/arm/tms320dm320/crt0.o) |
14 | #elif CONFIG_CPU==S3C2440 | ||
15 | INPUT(target/arm/s3c2440/crt0.o) | ||
16 | #elif defined(CPU_TCC77X) | 14 | #elif defined(CPU_TCC77X) |
17 | INPUT(target/arm/tcc77x/crt0.o) | 15 | INPUT(target/arm/tcc77x/crt0.o) |
18 | #else | 16 | #else |