summaryrefslogtreecommitdiff
path: root/firmware/target/arm/philips/boot.lds
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/philips/boot.lds')
-rw-r--r--firmware/target/arm/philips/boot.lds65
1 files changed, 65 insertions, 0 deletions
diff --git a/firmware/target/arm/philips/boot.lds b/firmware/target/arm/philips/boot.lds
new file mode 100644
index 0000000000..d115aa5949
--- /dev/null
+++ b/firmware/target/arm/philips/boot.lds
@@ -0,0 +1,65 @@
1#include "config.h"
2
3ENTRY(start)
4OUTPUT_FORMAT(elf32-littlearm)
5OUTPUT_ARCH(arm)
6STARTUP(target/arm/crt0-pp-bl.o)
7
8#define DRAMSIZE (MEMORYSIZE * 0x100000)
9
10#define DRAMORIG 0x10000000
11#ifndef IRAMORIG
12#define IRAMORIG 0x40000000
13#endif
14#define IRAMSIZE 0x20000
15#define FLASHORIG 0x001f0000
16#define FLASHSIZE 2M
17
18MEMORY
19{
20 DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
21 IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
22}
23
24SECTIONS
25{
26 . = IRAMORIG;
27
28 .text : {
29 *(.init.text)
30 *(.text*)
31 *(.glue_7)
32 *(.glue_7t)
33 } > IRAM
34
35 .data : {
36 *(.icode)
37 *(.irodata)
38 *(.idata)
39 *(.data*)
40 *(.ncdata*)
41 *(.rodata*)
42 _dataend = . ;
43 } > IRAM
44
45 .stack : {
46 *(.stack)
47 _stackbegin = .;
48 stackbegin = .;
49 . += 0x2000;
50 _stackend = .;
51 stackend = .;
52 } > IRAM
53
54 /* The bss section is too large for IRAM - we just move it 16MB into the
55 DRAM */
56
57 . = DRAMORIG;
58 .bss . + (16*1024*1024) : {
59 _edata = .;
60 *(.bss*);
61 *(.ibss);
62 *(.ncbss*);
63 _end = .;
64 } > DRAM
65}