summaryrefslogtreecommitdiff
path: root/firmware/target/arm/rk27xx/boot.lds
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/rk27xx/boot.lds')
-rw-r--r--firmware/target/arm/rk27xx/boot.lds43
1 files changed, 23 insertions, 20 deletions
diff --git a/firmware/target/arm/rk27xx/boot.lds b/firmware/target/arm/rk27xx/boot.lds
index b7bc9beac0..5e25d12dab 100644
--- a/firmware/target/arm/rk27xx/boot.lds
+++ b/firmware/target/arm/rk27xx/boot.lds
@@ -9,8 +9,8 @@ OUTPUT_FORMAT(elf32-bigarm)
9OUTPUT_ARCH(arm) 9OUTPUT_ARCH(arm)
10STARTUP(target/arm/rk27xx/crt0.o) 10STARTUP(target/arm/rk27xx/crt0.o)
11 11
12#define DRAMORIG 0x60000000 12#define DRAMORIG 0x60700000
13#define DRAMSIZE (MEMORYSIZE * 0x100000) 13#define DRAMSIZE (MEMORYSIZE * 0x100000 - 0x700000)
14 14
15#define IRAMORIG 0x00000000 15#define IRAMORIG 0x00000000
16#define IRAMSIZE 4K 16#define IRAMSIZE 4K
@@ -23,35 +23,39 @@ MEMORY
23 23
24SECTIONS 24SECTIONS
25{ 25{
26 .intvect : { 26 .relocstart (NOLOAD) : {
27 _intvectstart = . ; 27 _relocstart = .;
28 *(.intvect) 28 } > DRAM
29 _intvectend = _newstart ;
30 } > IRAM AT > DRAM
31 _intvectcopy = LOADADDR(.intvect) ;
32 29
33 .text : { 30 .text : {
34 *(.init.text) 31 *(.init.text)
35 *(.text*) 32 *(.text*)
33 *(.icode*)
36 *(.glue_7*) 34 *(.glue_7*)
35 } > DRAM
36
37 .intvect : {
38 _intvectstart = . ;
39 KEEP(*(.intvect))
40 _intvectend = . ;
41 } > IRAM AT > DRAM
42 _intvectcopy = LOADADDR(.intvect) ;
43
44 .rodata : {
45 *(.rodata*)
46 *(.irodata*)
47 . = ALIGN(0x4);
37 } > DRAM 48 } > DRAM
38 49
39 .data : { 50 .data : {
40 *(.rodata*)
41 *(.data*) 51 *(.data*)
42 *(.ncdata*); 52 *(.idata*)
43 . = ALIGN(0x4); 53 . = ALIGN(0x4);
44 } > DRAM 54 } > DRAM
45 55
46 .idata : { 56 .relocend (NOLOAD) : {
47 _datastart = . ; 57 _relocend = .;
48 *(.irodata) 58 } > DRAM
49 *(.icode)
50 *(.idata)
51 . = ALIGN(0x4);
52 _dataend = . ;
53 } > DRAM
54 _datacopy = LOADADDR(.idata) ;
55 59
56 .stack (NOLOAD) : 60 .stack (NOLOAD) :
57 { 61 {
@@ -73,7 +77,6 @@ SECTIONS
73 _edata = .; 77 _edata = .;
74 *(.bss*); 78 *(.bss*);
75 *(.ibss); 79 *(.ibss);
76 *(.ncbss*);
77 *(COMMON); 80 *(COMMON);
78 . = ALIGN(0x4); 81 . = ALIGN(0x4);
79 _end = .; 82 _end = .;