diff options
Diffstat (limited to 'firmware/app.lds')
-rw-r--r-- | firmware/app.lds | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/firmware/app.lds b/firmware/app.lds index 2e70eb957d..daed49a628 100644 --- a/firmware/app.lds +++ b/firmware/app.lds | |||
@@ -182,23 +182,31 @@ SECTIONS | |||
182 | _iramend = .; | 182 | _iramend = .; |
183 | } > IRAM | 183 | } > IRAM |
184 | 184 | ||
185 | #ifdef IRIVER_H100 | ||
186 | .stack : | ||
187 | { | ||
188 | *(.stack) | ||
189 | stackbegin = .; | ||
190 | . += 0x8000; | ||
191 | stackend = .; | ||
192 | } > IRAM | ||
193 | #else | ||
185 | /* TRICK ALERT! We want 0x2000 bytes of stack, but we set the section | 194 | /* TRICK ALERT! We want 0x2000 bytes of stack, but we set the section |
186 | size smaller, and allow the stack to grow into the .iram copy */ | 195 | size smaller, and allow the stack to grow into the .iram copy */ |
187 | .stack ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram): | 196 | .stack ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram): |
188 | { | 197 | { |
189 | *(.stack) | 198 | *(.stack) |
190 | _stackbegin = . - SIZEOF(.iram); | 199 | _stackbegin = . - SIZEOF(.iram); |
191 | stackbegin = . - SIZEOF(.iram); | ||
192 | #if MEMORYSIZE >= 32 | ||
193 | . += 0x8000 - SIZEOF(.iram); | ||
194 | #else | ||
195 | . += 0x2000 - SIZEOF(.iram); | 200 | . += 0x2000 - SIZEOF(.iram); |
196 | #endif | ||
197 | _stackend = .; | 201 | _stackend = .; |
198 | stackend = .; | ||
199 | } > DRAM | 202 | } > DRAM |
203 | #endif | ||
200 | 204 | ||
205 | #ifdef IRIVER_H100 | ||
206 | .bss ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram): | ||
207 | #else | ||
201 | .bss : | 208 | .bss : |
209 | #endif | ||
202 | { | 210 | { |
203 | _edata = .; | 211 | _edata = .; |
204 | *(.bss) | 212 | *(.bss) |