summaryrefslogtreecommitdiff
path: root/firmware/target/coldfire/iaudio/app.lds
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2009-02-20 02:33:40 +0000
committerMichael Sevakis <jethead71@rockbox.org>2009-02-20 02:33:40 +0000
commitec67912b638e0fae3cae7b4182d23db6d36c5135 (patch)
tree8101f45d02947a828d20174a45d1a6d19fafa3b2 /firmware/target/coldfire/iaudio/app.lds
parent07ae1e4fb9a1fd9d6ce9c48c5300b53e87303937 (diff)
downloadrockbox-ec67912b638e0fae3cae7b4182d23db6d36c5135.tar.gz
rockbox-ec67912b638e0fae3cae7b4182d23db6d36c5135.zip
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
Diffstat (limited to 'firmware/target/coldfire/iaudio/app.lds')
-rw-r--r--firmware/target/coldfire/iaudio/app.lds14
1 files changed, 8 insertions, 6 deletions
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
94 } > IRAM AT> DRAM 94 } > IRAM AT> DRAM
95 95
96 _iramcopy = LOADADDR(.iram); 96 _iramcopy = LOADADDR(.iram);
97 _noloaddram = LOADADDR(.iram);
97 98
98 .ibss (NOLOAD) : 99 .ibss (NOLOAD) :
99 { 100 {
@@ -103,7 +104,7 @@ SECTIONS
103 _iend = .; 104 _iend = .;
104 } > IRAM 105 } > IRAM
105 106
106 .stack : 107 .stack (NOLOAD) :
107 { 108 {
108 *(.stack) 109 *(.stack)
109 stackbegin = .; 110 stackbegin = .;
@@ -111,7 +112,7 @@ SECTIONS
111 stackend = .; 112 stackend = .;
112 } > IRAM 113 } > IRAM
113 114
114 .bss ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram): 115 .bss _noloaddram (NOLOAD):
115 { 116 {
116 _edata = .; 117 _edata = .;
117 *(.bss*) 118 *(.bss*)
@@ -120,25 +121,26 @@ SECTIONS
120 _end = .; 121 _end = .;
121 } > DRAM 122 } > DRAM
122 123
123 .audiobuf ALIGN(4) : 124 .audiobuf (NOLOAD) :
124 { 125 {
126 . = ALIGN(4);
125 _audiobuffer = .; 127 _audiobuffer = .;
126 audiobuffer = .; 128 audiobuffer = .;
127 } > DRAM 129 } > DRAM
128 130
129 .audiobufend ENDAUDIOADDR: 131 .audiobufend ENDAUDIOADDR (NOLOAD) :
130 { 132 {
131 audiobufend = .; 133 audiobufend = .;
132 _audiobufend = .; 134 _audiobufend = .;
133 } > DRAM 135 } > DRAM
134 136
135 .codec ENDAUDIOADDR: 137 .codec ENDAUDIOADDR (NOLOAD) :
136 { 138 {
137 codecbuf = .; 139 codecbuf = .;
138 _codecbuf = .; 140 _codecbuf = .;
139 } 141 }
140 142
141 .plugin ENDADDR: 143 .plugin ENDADDR (NOLOAD) :
142 { 144 {
143 _pluginbuf = .; 145 _pluginbuf = .;
144 pluginbuf = .; 146 pluginbuf = .;