diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2010-06-11 14:39:35 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2010-06-11 14:39:35 +0000 |
commit | 60f843bf181fba3fc509955195ecea786cc002b2 (patch) | |
tree | 31399c08bb3ec25dd98318e6f23bcd2f4a0191d0 /firmware/target/arm/imx31/app.lds | |
parent | d5a27c2fb1d653bb133a57acacc06b9efdc3ce4c (diff) | |
download | rockbox-60f843bf181fba3fc509955195ecea786cc002b2.tar.gz rockbox-60f843bf181fba3fc509955195ecea786cc002b2.zip |
Configure Gigabeat S with EABI compiler by default. Implement the INIT section that this enables (due to selective need for long calls). Remove pcm_postinit from INIT section since it's asynchronous. Disable strict aliasing on SPC codec for now just to shut it up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26779 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/imx31/app.lds')
-rw-r--r-- | firmware/target/arm/imx31/app.lds | 38 |
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 | |||
35 | MEMORY | 39 | MEMORY |
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 = .; |