summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/app.lds33
-rw-r--r--firmware/boot.lds4
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)
88MEMORY 88MEMORY
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)
9OUTPUT_ARCH(arm) 9OUTPUT_ARCH(arm)
10#ifdef CPU_PP 10#ifdef CPU_PP
11INPUT(target/arm/crt0-pp-bl.o) 11INPUT(target/arm/crt0-pp-bl.o)
12#elif CONFIG_CPU==DM320 12#elif defined(OLYMPUS_MROBE_500)
13INPUT(target/arm/tms320dm320/crt0.o) 13INPUT(target/arm/tms320dm320/crt0.o)
14#elif CONFIG_CPU==S3C2440
15INPUT(target/arm/s3c2440/crt0.o)
16#elif defined(CPU_TCC77X) 14#elif defined(CPU_TCC77X)
17INPUT(target/arm/tcc77x/crt0.o) 15INPUT(target/arm/tcc77x/crt0.o)
18#else 16#else