diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2009-02-10 11:34:15 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2009-02-10 11:34:15 +0000 |
commit | e1e810183701218be753ce70d131b48255478acf (patch) | |
tree | c44f9de4f7f4c031a4cf6454e841b54993323cf9 /firmware/target/arm/imx31/app.lds | |
parent | ca07873607bbba7c8adff6d786b6b88f14ef7650 (diff) | |
download | rockbox-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.lds | 24 |
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 = .; |