summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx233/app.lds
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/imx233/app.lds')
-rw-r--r--firmware/target/arm/imx233/app.lds14
1 files changed, 9 insertions, 5 deletions
diff --git a/firmware/target/arm/imx233/app.lds b/firmware/target/arm/imx233/app.lds
index b378f9ea16..335aa4fcc3 100644
--- a/firmware/target/arm/imx233/app.lds
+++ b/firmware/target/arm/imx233/app.lds
@@ -39,7 +39,7 @@ SECTIONS
39 { 39 {
40 _dramcopystart = .; 40 _dramcopystart = .;
41 } > DRAM 41 } > DRAM
42 42
43 .text : 43 .text :
44 { 44 {
45 *(.text*) 45 *(.text*)
@@ -47,6 +47,8 @@ SECTIONS
47 *(.rodata*) 47 *(.rodata*)
48 } > DRAM 48 } > DRAM
49 49
50 _dramtextend = .;
51
50 .itext : 52 .itext :
51 { 53 {
52 _iramstart = .; // always 0 54 _iramstart = .; // always 0
@@ -77,12 +79,17 @@ SECTIONS
77 79
78 _initcopy = LOADADDR(.init); 80 _initcopy = LOADADDR(.init);
79 81
82 /* crt0 needs a temporary stack which does not overlap with init and itext
83 * and is in physical memory: put it *after* init and itext. A small one suffices */
84 crt0_tmpstack_phys = _dramcopyend + 0x200 - CACHED_DRAM_ADDR + UNCACHED_DRAM_ADDR;
85
80 .dramcopyend (NOLOAD) : 86 .dramcopyend (NOLOAD) :
81 { 87 {
82 _dramcopyend = .; 88 _dramcopyend = .;
83 } > DRAM 89 } > DRAM
84 90
85 .stack (NOLOAD) : 91 /* the stack overlaps the init and itext region, to reclaim space */
92 .stack _dramtextend (NOLOAD) :
86 { 93 {
87 *(.stack) 94 *(.stack)
88 stackbegin = .; 95 stackbegin = .;
@@ -90,9 +97,6 @@ SECTIONS
90 stackend = .; 97 stackend = .;
91 } > DRAM 98 } > DRAM
92 99
93 /* physical address of the stack */
94 stackend_phys = stackend - CACHED_DRAM_ADDR + UNCACHED_DRAM_ADDR;
95
96 /* treat .bss and .ncbss as a single section */ 100 /* treat .bss and .ncbss as a single section */
97 .bss (NOLOAD) : 101 .bss (NOLOAD) :
98 { 102 {