diff options
Diffstat (limited to 'firmware/target/arm/imx233/app.lds')
-rw-r--r-- | firmware/target/arm/imx233/app.lds | 14 |
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 | { |