e200v1 seems to be ok using USB-enabled bootloader. Also, include the bootloader...
[kugel-rb.git] / firmware / target / arm / sandisk / boot.lds
blob4b8adc89910001902111bf7fadcdeff836caabc6
1 #include "config.h"
3 /* Can't link all Sansa PP devices the same way at this time */
4 #ifdef HAVE_BOOTLOADER_USB_MODE
5 #include "../boot-pp502x-bl-usb.lds"
6 #else /* !HAVE_BOOTLOADER_USB_MODE */
8 ENTRY(start)
9 OUTPUT_FORMAT(elf32-littlearm)
10 OUTPUT_ARCH(arm)
11 STARTUP(target/arm/crt0-pp-bl.o)
13 #define DRAMSIZE (MEMORYSIZE * 0x100000)
15 #ifdef SANSA_VIEW
16 #define DRAMORIG 0x10f00000
17 #else
18 #define DRAMORIG 0x10000000
19 #endif
21 #ifndef IRAMORIG
22 #define IRAMORIG 0x40000000
23 #endif
24 #define IRAMSIZE 0x20000
25 #define FLASHORIG 0x001f0000
26 #define FLASHSIZE 2M
28 MEMORY
30     DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
31     IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
34 SECTIONS
36 #ifdef C200_ERASE
37   . = IRAMORIG+0x4000;
38 #else
39   . = IRAMORIG;
40 #endif
42   .text : {
43     *(.init.text)
44     *(.text*)
45     *(.glue_7)
46     *(.glue_7t)
47   } > IRAM
49   .data : {
50     *(.icode)
51     *(.irodata)
52     *(.idata)
53     *(.data*)
54     *(.ncdata*)
55     *(.rodata*)
56     _dataend = . ;
57   } > IRAM
59   .stack (NOLOAD) : {
60      *(.stack)
61      _stackbegin = .;
62      stackbegin = .;
63      . += 0x2000;
64      _stackend = .;
65      stackend = .;
66   } > IRAM
68   /* The bss section is too large for IRAM - we just move it 16MB into the
69      DRAM */
71   . = DRAMORIG;
72   .bss . + (16*1024*1024) (NOLOAD) : {
73      _edata = .;
74      *(.bss*);
75      *(.ibss);
76      *(COMMON)
77      *(.ncbss*);
78      _end = .;
79   } > DRAM
81 #endif /* HAVE_BOOTLOADER_USB_MODE */