summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s3c2440/boot.lds
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/s3c2440/boot.lds')
-rw-r--r--firmware/target/arm/s3c2440/boot.lds101
1 files changed, 75 insertions, 26 deletions
diff --git a/firmware/target/arm/s3c2440/boot.lds b/firmware/target/arm/s3c2440/boot.lds
index cc20fbe86f..4516c7ddb0 100644
--- a/firmware/target/arm/s3c2440/boot.lds
+++ b/firmware/target/arm/s3c2440/boot.lds
@@ -7,44 +7,93 @@ INPUT(target/arm/s3c2440/crt0.o)
7 7
8#define DRAMSIZE (MEMORYSIZE * 0x100000) 8#define DRAMSIZE (MEMORYSIZE * 0x100000)
9 9
10#define DRAMORIG 0x30000000 10#define DRAMORIG 0x00000000
11#define IRAMORIG 0x40000000 11#define IRAMORIG 0x40000000
12#define IRAMSIZE 4K 12#define IRAMSIZE 4K
13#define FLASHORIG 0x0000000 13#define FLASHORIG 0x00000000
14#define FLASHSIZE 1M 14#define FLASHSIZE 1M
15 15
16SECTIONS 16MEMORY
17{ 17{
18 . = DRAMORIG + 0x1000000; 18 DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
19}
19 20
20 .text : { 21SECTIONS
22{
23 .vectors DRAMORIG :
24 {
25 _vectorstart = .;
26 *(.vectors*);
21 *(.init.text) 27 *(.init.text)
28 . = ALIGN(0x4);
29 } > DRAM
30
31 .text :
32 {
33 _textstart = .;
34 *(.text)
22 *(.text*) 35 *(.text*)
23 } 36 *(.glue_7)
37 *(.glue_7t)
38 . = ALIGN(0x4);
39 } > DRAM
24 40
25 .data : { 41 _textcopy = LOADADDR(.text);
42
43 .rodata :
44 {
45 *(.rodata) /* problems without this, dunno why */
46 *(.rodata*)
47 *(.rodata.str1.1)
48 *(.rodata.str1.4)
49 . = ALIGN(0x4);
50 } > DRAM
51
52 .data :
53 {
54 *(.data*)
55 . = ALIGN(0x4);
56 } > DRAM
57
58 /DISCARD/ :
59 {
60 *(.eh_frame)
61 }
62
63 .iram :
64 {
65 _iramstart = .;
26 *(.icode) 66 *(.icode)
27 *(.irodata) 67 *(.irodata)
28 *(.idata) 68 *(.idata)
29 *(.data*) 69 . = ALIGN(0x4);
70 _iramend = .;
71 } > DRAM
72
73 _iramcopy = LOADADDR(.iram);
74
75 .ibss :
76 {
77 _iedata = .;
78 *(.ibss)
30 . = ALIGN(0x4); 79 . = ALIGN(0x4);
31 _dataend = . ; 80 _iend = .;
32 } 81 } > DRAM
33 82
34 .stack : 83 .stack :
35 { 84 {
36 *(.stack) 85 *(.stack)
37 _stackbegin = .; 86 stackbegin = .;
38 stackbegin = .; 87 . += 0x2000;
39 . += 0x2000; 88 stackend = .;
40 _stackend = .; 89 } > DRAM
41 stackend = .; 90
42 } 91 .bss :
43 .bss : { 92 {
44 _edata = .; 93 _edata = .;
45 *(.bss*); 94 *(.bss*)
46 *(.ibss); 95 *(COMMON)
47 *(COMMON) 96 . = ALIGN(0x4);
48 _end = .; 97 _end = .;
49 } 98 } > DRAM
50} 99}