diff options
Diffstat (limited to 'firmware/target/arm/imx233/boot.lds')
-rw-r--r-- | firmware/target/arm/imx233/boot.lds | 51 |
1 files changed, 23 insertions, 28 deletions
diff --git a/firmware/target/arm/imx233/boot.lds b/firmware/target/arm/imx233/boot.lds index 39e570a03e..cb925b055e 100644 --- a/firmware/target/arm/imx233/boot.lds +++ b/firmware/target/arm/imx233/boot.lds | |||
@@ -14,32 +14,6 @@ MEMORY | |||
14 | 14 | ||
15 | SECTIONS | 15 | SECTIONS |
16 | { | 16 | { |
17 | .vectors 0 : | ||
18 | { | ||
19 | *(.vectors); | ||
20 | . = ALIGN(0x4); | ||
21 | } > IRAM | ||
22 | |||
23 | .itext : | ||
24 | { | ||
25 | *(.icode) | ||
26 | *(.init.text) | ||
27 | . = ALIGN(0x4); | ||
28 | } > IRAM | ||
29 | |||
30 | .idata : | ||
31 | { | ||
32 | *(.qharray) | ||
33 | *(.idata) | ||
34 | *(.irodata) | ||
35 | . = ALIGN(0x4); | ||
36 | } > IRAM | ||
37 | |||
38 | .ibss : | ||
39 | { | ||
40 | *(.ibss) | ||
41 | } > IRAM | ||
42 | |||
43 | .text : | 17 | .text : |
44 | { | 18 | { |
45 | *(.text*) | 19 | *(.text*) |
@@ -52,13 +26,34 @@ SECTIONS | |||
52 | _dataend = . ; | 26 | _dataend = . ; |
53 | } > DRAM | 27 | } > DRAM |
54 | 28 | ||
29 | .iram : | ||
30 | { | ||
31 | _iramstart = .; // always 0 | ||
32 | *(.vectors) | ||
33 | KEEP(*(.vectors));// otherwise there are no reference to it and the linker strip it | ||
34 | *(.icode) | ||
35 | *(.irodata) | ||
36 | *(.idata) | ||
37 | . = ALIGN(0x4); | ||
38 | _iramend = .; | ||
39 | } > IRAM AT> DRAM | ||
40 | |||
41 | _iramcopy = LOADADDR(.iram); | ||
42 | |||
43 | .ibss (NOLOAD) : | ||
44 | { | ||
45 | _iedata = .; | ||
46 | *(.qharray) | ||
47 | *(.ibss) | ||
48 | . = ALIGN(0x4); | ||
49 | _iend = .; | ||
50 | } > IRAM | ||
51 | |||
55 | .stack (NOLOAD) : | 52 | .stack (NOLOAD) : |
56 | { | 53 | { |
57 | *(.stack) | 54 | *(.stack) |
58 | _stackbegin = .; | ||
59 | stackbegin = .; | 55 | stackbegin = .; |
60 | . += 0x2000; | 56 | . += 0x2000; |
61 | _stackend = .; | ||
62 | stackend = .; | 57 | stackend = .; |
63 | } > DRAM | 58 | } > DRAM |
64 | 59 | ||