Initial commit of 0.0.18 just as it was released!
[freeems-vanilla.git] / src / regions.x
blob574c7b6ded55097d4195b8d2b1f81c9fda6b8b74
1 /*      regions.x
3         Copyright 2008 Fred Cooke
5         This file is part of the FreeEMS project.
7         FreeEMS software is free software: you can redistribute it and/or modify
8         it under the terms of the GNU General Public License as published by
9         the Free Software Foundation, either version 3 of the License, or
10         (at your option) any later version.
12         FreeEMS software is distributed in the hope that it will be useful,
13         but WITHOUT ANY WARRANTY; without even the implied warranty of
14         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15         GNU General Public License for more details.
17         You should have received a copy of the GNU General Public License
18         along with any FreeEMS software.  If not, see <http://www.gnu.org/licenses/>.
20         We ask that if you make any changes to this file you send them upstream to us at admin@diyefi.org
22         Thank you for choosing FreeEMS to run your engine! */
24 /* FreeEMS memory regions/banks/sections definition.  */
26 /* A description of what some of this means can be found at the following URL   */
27 /* http://www.gnu.org/software/m68hc11/m68hc11_binutils.html                                    */
28 /* http://m68hc11.serveftp.org/wiki/index.php/FAQ:Link                                                  */
30 SECTIONS
33 /*&&&&&&&&&&&&&& RAM Regions &&&&&&&&&&&&&&*/
35 /* The main RAM region is called "data" and */
36 /* can be found in the main linker script   */
38 /* The RAM page window through which all tunable config is reached. */
39   .rpage :
40   {
41     *(.rpage)
42   } > rpage
44 /* Comms transmission buffer */
45   .txbuf :
46   {
47     *(.txbuf)
48   } > txbuf
50 /* Comms reception buffer */
51   .rxbuf :
52   {
53     *(.rxbuf)
54   } > rxbuf
57 /*&&&&&&&&&&&&&& Linear Flash Regions &&&&&&&&&&&&&&*/
59 /* Primary linear code and persistent data is called */
60 /* "text" and can be found in the main linker script */
62 /* Secondary linear code and persistent data */
63   .text1  :
64   {
65     *(.text1)
66   }  > text1
68 /* This is the flash page window. */
69 /* We use this as paged blocks not directly so it's commented out. */
70 /*  .text2  :
71   {
72     *(.text2)
73   }  > text2 */
75 /* Non live tunable configuration items 1 */
76   .fixedconf1  :
77   {
78     *(.fixedconf1)
79   }  > fixedconf1
81 /* Non live tunable configuration items 1 */
82   .fixedconf2  :
83   {
84     *(.fixedconf2)
85   }  > fixedconf2
88 /*&&&&&&&&&&&&&& Paged Flash Regions &&&&&&&&&&&&&&*/
90 /* PPAGE FA is used for fuel tables and setup function */
91   .dpageFA  :
92   {
93     *(.dpageFA)
94   }  > dpageFA
96   .fpageFA  :
97   {
98     *(.fpageFA)
99   }  > fpageFA
101 /* PPAGE FB is used for smaller tunables and setup function */
102   .fpageFB  :
103   {
104     *(.fpageFB)
105   }  > fpageFB
107 /* Data split up into eight chunks to catch size mistakes better */
108   .dpageFB1 :
109   {
110     *(.dpageFB1)
111   }  > dpageFB1
113   .dpageFB2  :
114   {
115     *(.dpageFB2)
116   }  > dpageFB2
118   .dpageFB3  :
119   {
120     *(.dpageFB3)
121   }  > dpageFB3
123   .dpageFB4  :
124   {
125     *(.dpageFB4)
126   }  > dpageFB4
128   .dpageFB5  :
129   {
130     *(.dpageFB5)
131   }  > dpageFB5
133   .dpageFB6  :
134   {
135     *(.dpageFB6)
136   }  > dpageFB6
138   .dpageFB7  :
139   {
140     *(.dpageFB7)
141   }  > dpageFB7
143   .dpageFB8  :
144   {
145     *(.dpageFB8)
146   }  > dpageFB8
148 /* PPAGE FC is used for timing tables and setup function */
149   .dpageFC  :
150   {
151     *(.dpageFC)
152   }  > dpageFC
154   .fpageFC  :
155   {
156     *(.fpageFC)
157   }  > fpageFC
159 /* The rest from this 128k flash module for general code */
160   .ppageF8  :
161   {
162     *(.fpageF8)
163     *(.dpageF8)
164   }  > ppageF8
166   .fpageF9  :
167   {
168     *(.fpageF9)
169   }  > fpageF9
171   .dpageF9  :
172   {
173     *(.dpageF9)
174   }  > dpageF9
176   .ppageFE  :
177   {
178     *(.ppageFE)
179   }  > ppageFE
181 /* The following two blocks are included just for clarity */
182 /* and are the same as text1 and text when paged.         */
183 /*  .ppageFD  : (text1 / 0x4000 - 0x7FFF)
184   {
185     *(.ppageFD)
186   }  > ppageFD
188   .ppageFF  : (text / 0xC000 - 0xFFFF)
189   {
190     *(.ppageFF)
191   } > ppageFF */
194 /* The rest from the other 3 128k flash modules - can't use yet */
195   .ppageE0  :
196   {
197     *(.ppageE0)
198   }  > ppageE0
200   .ppageE1  :
201   {
202     *(.ppageE1)
203   }  > ppageE1
205   .ppageE2  :
206   {
207     *(.ppageE2)
208   }  > ppageE2
210   .ppageE3  :
211   {
212     *(.ppageE3)
213   }  > ppageE3
215   .ppageE4  :
216   {
217     *(.ppageE4)
218   }  > ppageE4
220   .ppageE5  :
221   {
222     *(.ppageE5)
223   }  > ppageE5
225   .ppageE6  :
226   {
227     *(.ppageE6)
228   }  > ppageE6
230   .ppageE7  :
231   {
232     *(.ppageE7)
233   }  > ppageE7
235   .ppageE8  :
236   {
237     *(.ppageE8)
238   }  > ppageE8
240   .ppageE9  :
241   {
242     *(.ppageE9)
243   }  > ppageE9
245   .ppageEA  :
246   {
247     *(.ppageEA)
248   }  > ppageEA
250   .ppageEB  :
251   {
252     *(.ppageEB)
253   }  > ppageEB
255   .ppageEC  :
256   {
257     *(.ppageEC)
258   }  > ppageEC
260   .ppageED  :
261   {
262     *(.ppageED)
263   }  > ppageED
265   .ppageEE  :
266   {
267     *(.ppageEE)
268   }  > ppageEE
270   .ppageEF  :
271   {
272     *(.ppageEF)
273   }  > ppageEF
275   .ppageF0  :
276   {
277     *(.ppageF0)
278   }  > ppageF0
280   .ppageF1  :
281   {
282     *(.ppageF1)
283   }  > ppageF1
285   .ppageF2  :
286   {
287     *(.ppageF2)
288   }  > ppageF2
290   .ppageF3  :
291   {
292     *(.ppageF3)
293   }  > ppageF3
295   .ppageF4  :
296   {
297     *(.ppageF4)
298   }  > ppageF4
300   .ppageF5  :
301   {
302     *(.ppageF5)
303   }  > ppageF5
305   .ppageF6  :
306   {
307     *(.ppageF6)
308   }  > ppageF6
310   .ppageF7  :
311   {
312     *(.ppageF7)
313   }  > ppageF7