summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx31/app.lds
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/imx31/app.lds')
-rw-r--r--firmware/target/arm/imx31/app.lds38
1 files changed, 23 insertions, 15 deletions
diff --git a/firmware/target/arm/imx31/app.lds b/firmware/target/arm/imx31/app.lds
index 7043a55526..24b9f27d5d 100644
--- a/firmware/target/arm/imx31/app.lds
+++ b/firmware/target/arm/imx31/app.lds
@@ -32,9 +32,14 @@ STARTUP(target/arm/imx31/crt0.o)
32/* Where the codec buffer ends, and the plugin buffer starts */ 32/* Where the codec buffer ends, and the plugin buffer starts */
33#define ENDADDR (ENDAUDIOADDR + CODECSIZE) 33#define ENDADDR (ENDAUDIOADDR + CODECSIZE)
34 34
35/* INIT section is the codec buffer */
36#define INITSIZE CODECSIZE
37#define INITSTART ENDAUDIOADDR
38
35MEMORY 39MEMORY
36{ 40{
37 DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE 41 DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
42 INIT : ORIGIN = INITSTART, LENGTH = INITSIZE
38 QHARRAY : ORIGIN = QHARRAY_PHYS_ADDR, LENGTH = QHARRAY_SIZE 43 QHARRAY : ORIGIN = QHARRAY_PHYS_ADDR, LENGTH = QHARRAY_SIZE
39} 44}
40 45
@@ -97,25 +102,35 @@ SECTIONS
97 .vectors 0x0 : 102 .vectors 0x0 :
98 { 103 {
99 _vectorsstart = .; 104 _vectorsstart = .;
100 *(.vectors); 105 *(.vectors)
101 _vectorsend = .; 106 _vectorsend = .;
102 } AT> DRAM 107 } AT> DRAM
103 108
104 _vectorscopy = LOADADDR(.vectors); 109 _vectorscopy = LOADADDR(.vectors);
105 110
111 .init :
112 {
113 . = ALIGN(4);
114 _initstart = .;
115 *(.init)
116 *(.sdmacode)
117 _initend = .;
118 } > INIT AT> DRAM
119
120 _initcopy = LOADADDR(.init);
121
106 .stack (NOLOAD) : 122 .stack (NOLOAD) :
107 { 123 {
108 *(.stack) 124 . = ALIGN(4);
109 stackbegin = .; 125 *(.stack)
110 . += 0x2000; 126 stackbegin = .;
111 stackend = .; 127 . += 0x2000;
128 stackend = .;
112 } > DRAM 129 } > DRAM
113 130
114 _sdmacodecopy = stackbegin;
115
116 .bss (NOLOAD) : 131 .bss (NOLOAD) :
117 { 132 {
118 _edata = .; 133 _edata = .;
119 *(.bss*) 134 *(.bss*)
120 *(.ibss) 135 *(.ibss)
121 *(COMMON) 136 *(COMMON)
@@ -158,13 +173,6 @@ SECTIONS
158 pluginbuf = .; 173 pluginbuf = .;
159 } 174 }
160 175
161 .sdma _pluginbuf : AT( _sdmacodecopy )
162 {
163 _sdmacodestart = .;
164 *(.sdmacode);
165 _sdmacodeend = .;
166 }
167
168 .qharray (NOLOAD) : 176 .qharray (NOLOAD) :
169 { 177 {
170 _qharray = .; 178 _qharray = .;