From ec67912b638e0fae3cae7b4182d23db6d36c5135 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Fri, 20 Feb 2009 02:33:40 +0000 Subject: Reclaim .iram areas in DRAM by overlapping their load addresses with the uninitialized data sections. I did what I could test out-- not any flash image linker scripts or other target processors. Move any .iram copies in crt0.S's to be the first operation even if not _strictly_ necessary to be emphatic (aka. 'beware'). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20061 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/coldfire/iaudio/app.lds | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'firmware/target/coldfire/iaudio') diff --git a/firmware/target/coldfire/iaudio/app.lds b/firmware/target/coldfire/iaudio/app.lds index d3ccce24f0..5cb2f6cb3f 100644 --- a/firmware/target/coldfire/iaudio/app.lds +++ b/firmware/target/coldfire/iaudio/app.lds @@ -94,6 +94,7 @@ SECTIONS } > IRAM AT> DRAM _iramcopy = LOADADDR(.iram); + _noloaddram = LOADADDR(.iram); .ibss (NOLOAD) : { @@ -103,7 +104,7 @@ SECTIONS _iend = .; } > IRAM - .stack : + .stack (NOLOAD) : { *(.stack) stackbegin = .; @@ -111,7 +112,7 @@ SECTIONS stackend = .; } > IRAM - .bss ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram): + .bss _noloaddram (NOLOAD): { _edata = .; *(.bss*) @@ -120,25 +121,26 @@ SECTIONS _end = .; } > DRAM - .audiobuf ALIGN(4) : + .audiobuf (NOLOAD) : { + . = ALIGN(4); _audiobuffer = .; audiobuffer = .; } > DRAM - .audiobufend ENDAUDIOADDR: + .audiobufend ENDAUDIOADDR (NOLOAD) : { audiobufend = .; _audiobufend = .; } > DRAM - .codec ENDAUDIOADDR: + .codec ENDAUDIOADDR (NOLOAD) : { codecbuf = .; _codecbuf = .; } - .plugin ENDADDR: + .plugin ENDADDR (NOLOAD) : { _pluginbuf = .; pluginbuf = .; -- cgit v1.2.3