5 OUTPUT_FORMAT(elf32-m68k)
6 INPUT(target/coldfire/crt0.o)
7 #elif defined (CPU_ARM)
8 OUTPUT_FORMAT(elf32-littlearm)
11 /* the ipods can't have the crt0.o mentioned here, but the others can't do
14 INPUT(target/arm/crt0-pp.o)
16 INPUT(target/arm/crt0.o)
20 OUTPUT_FORMAT(elf32-sh)
21 INPUT(target/sh/crt0.o)
24 #define DRAMSIZE (MEMORYSIZE * 0x100000)
26 #ifdef IRIVER_H100_SERIES
27 #define DRAMORIG 0x31000000
28 #define IRAMORIG 0x10000000
29 #define IRAMSIZE 0x18000
30 #define FLASHORIG 0x001f0000
32 #elif defined(IRIVER_H300_SERIES)
33 #define DRAMORIG 0x31000000
34 #define IRAMORIG 0x10000000
35 #define IRAMSIZE 0x18000
36 #define FLASHORIG 0x003f0000
38 #elif defined(IAUDIO_X5)
39 #define DRAMORIG 0x31000000
40 #define IRAMORIG 0x10000000
41 #define IRAMSIZE 0x20000
42 #define FLASHORIG 0x00010000
44 #elif CONFIG_CPU == PP5020
45 #define DRAMORIG 0x10000000
46 #define IRAMORIG 0x40000000
47 #define IRAMSIZE 0x18000
48 #define FLASHORIG 0x001f0000
50 #elif CONFIG_CPU == PP5024
51 #define DRAMORIG 0x10000000
52 #define IRAMORIG 0x40000000
53 #define IRAMSIZE 0x18000
54 #define FLASHORIG 0x001f0000
56 #elif CONFIG_CPU == S3C2440
57 #define DRAMORIG 0x30000000
58 #define IRAMORIG 0x40000000
60 #define FLASHORIG 0x0000000
62 #elif CONFIG_CPU == PP5002
63 #define DRAMORIG 0x28000000
64 #define IRAMORIG 0x40000000
65 #define IRAMSIZE 0x18000
66 #define FLASHORIG 0x001f0000
69 #define DRAMORIG 0x09000000
70 #define IRAMORIG 0x0f000000
71 #define IRAMSIZE 0x1000
72 #define FLASHORIG 0x02000000 + ROM_START
73 #define FLASHSIZE 256K - ROM_START
76 #if !defined(CPU_PP) && (CONFIG_CPU!=S3C2440)
79 DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
80 IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
81 FLASH : ORIGIN = FLASHORIG, LENGTH = FLASHSIZE
113 /* The bss section is too large for IRAM - we just move it 16MB into the
116 . = (DRAMORIG+16*1024*1024);
124 #elif (CONFIG_CPU==S3C2440)
126 . = DRAMORIG + 0x8000;
164 .data : AT ( _datacopy )
176 . = ALIGN(0x10); /* Maintain proper alignment for .text section */
179 /* TRICK ALERT! Newer versions of the linker don't allow output sections
180 to overlap even if one of them is empty, so advance the location pointer
182 .text LOADADDR(.data) + SIZEOF(.data) :
208 #if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES) || defined(IAUDIO_X5)
209 .bss DRAMORIG+0x800000:
219 #if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES) || defined(IAUDIO_X5)