summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx31/app.lds
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2009-02-10 11:34:15 +0000
committerMichael Sevakis <jethead71@rockbox.org>2009-02-10 11:34:15 +0000
commite1e810183701218be753ce70d131b48255478acf (patch)
treec44f9de4f7f4c031a4cf6454e841b54993323cf9 /firmware/target/arm/imx31/app.lds
parentca07873607bbba7c8adff6d786b6b88f14ef7650 (diff)
downloadrockbox-e1e810183701218be753ce70d131b48255478acf.tar.gz
rockbox-e1e810183701218be753ce70d131b48255478acf.zip
Gigabeat S: Place SDMA code load address starting in uninitialized section address and copy it to the plugin buffer since it only needed very early in initialization. Will save about 6K in RAM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19963 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/imx31/app.lds')
-rw-r--r--firmware/target/arm/imx31/app.lds24
1 files changed, 17 insertions, 7 deletions
diff --git a/firmware/target/arm/imx31/app.lds b/firmware/target/arm/imx31/app.lds
index 4ab4665062..4ee7ac45d4 100644
--- a/firmware/target/arm/imx31/app.lds
+++ b/firmware/target/arm/imx31/app.lds
@@ -91,16 +91,18 @@ SECTIONS
91 } AT> DRAM 91 } AT> DRAM
92 92
93 _vectorscopy = LOADADDR(.vectors); 93 _vectorscopy = LOADADDR(.vectors);
94 94
95 .stack : 95 .stack (NOLOAD) :
96 { 96 {
97 *(.stack) 97 *(.stack)
98 stackbegin = .; 98 stackbegin = .;
99 . += 0x2000; 99 . += 0x2000;
100 stackend = .; 100 stackend = .;
101 } > DRAM 101 } > DRAM
102
103 _sdmacodecopy = stackbegin;
102 104
103 .bss : 105 .bss (NOLOAD) :
104 { 106 {
105 _edata = .; 107 _edata = .;
106 *(.bss*) 108 *(.bss*)
@@ -110,30 +112,38 @@ SECTIONS
110 _end = .; 112 _end = .;
111 } > DRAM 113 } > DRAM
112 114
113 .audiobuf ALIGN(4) : 115 .audiobuf (NOLOAD) :
114 { 116 {
117 . = ALIGN(0x4);
115 _audiobuffer = .; 118 _audiobuffer = .;
116 audiobuffer = .; 119 audiobuffer = .;
117 } > DRAM 120 } > DRAM
118 121
119 .audiobufend ENDAUDIOADDR: 122 .audiobufend ENDAUDIOADDR (NOLOAD) :
120 { 123 {
121 audiobufend = .; 124 audiobufend = .;
122 _audiobufend = .; 125 _audiobufend = .;
123 } > DRAM 126 } > DRAM
124 127
125 .codec ENDAUDIOADDR: 128 .codec ENDAUDIOADDR (NOLOAD) :
126 { 129 {
127 codecbuf = .; 130 codecbuf = .;
128 _codecbuf = .; 131 _codecbuf = .;
129 } 132 }
130 133
131 .plugin ENDADDR: 134 .plugin ENDADDR (NOLOAD) :
132 { 135 {
133 _pluginbuf = .; 136 _pluginbuf = .;
134 pluginbuf = .; 137 pluginbuf = .;
135 } 138 }
136 139
140 .sdma _pluginbuf : AT( _sdmacodecopy )
141 {
142 _sdmacodestart = .;
143 *(.sdmacode);
144 _sdmacodeend = .;
145 }
146
137 .devbss (NOLOAD) : 147 .devbss (NOLOAD) :
138 { 148 {
139 _devbssdata = .; 149 _devbssdata = .;