Added the three linker scripts to be processed by doxygen, removed them from unlisted...
[freeems-vanilla.git] / src / regions.x
blob7dd3348ecc44a68b9fba7628cf665a539d07bf7a
1 /**     @file regions.x
3         Copyright 2008 Fred Cooke
5         Code section to memory region mapping definition file for inclusion
6         into the linker script. This file provides rules which map pieces of
7         code and data from named sections into specific named memory regions.
8         See memory.x and hc9s12xdp512elfb.x for more information.
10         This file is part of the FreeEMS project.
12         FreeEMS software is free software: you can redistribute it and/or modify
13         it under the terms of the GNU General Public License as published by
14         the Free Software Foundation, either version 3 of the License, or
15         (at your option) any later version.
17         FreeEMS software is distributed in the hope that it will be useful,
18         but WITHOUT ANY WARRANTY; without even the implied warranty of
19         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20         GNU General Public License for more details.
22         You should have received a copy of the GNU General Public License
23         along with any FreeEMS software.  If not, see http://www.gnu.org/licenses/
25         We ask that if you make any changes to this file you send them upstream to us at admin@diyefi.org
27         Thank you for choosing FreeEMS to run your engine!
29         @cond regionsscript */
32 /* A description of what some of this means can be found at the following URL   */
33 /* http://www.gnu.org/software/m68hc11/m68hc11_binutils.html                                    */
34 /* http://m68hc11.serveftp.org/wiki/index.php/FAQ:Link                                                  */
37 SECTIONS
40 /*&&&&&&&&&&&&&& RAM Regions &&&&&&&&&&&&&&*/
42 /* The main RAM region is called "data" and */
43 /* can be found in the main linker script   */
45 /* The RAM page window through which all tunable config is reached. */
46   .rpage :
47   {
48     *(.rpage)
49   } > rpage
51 /* Comms transmission buffer */
52   .txbuf :
53   {
54     *(.txbuf)
55   } > txbuf
57 /* Comms reception buffer */
58   .rxbuf :
59   {
60     *(.rxbuf)
61   } > rxbuf
64 /*&&&&&&&&&&&&&& Linear Flash Regions &&&&&&&&&&&&&&*/
66 /* Primary linear code and persistent data is called */
67 /* "text" and can be found in the main linker script */
69 /* Secondary linear code and persistent data */
70   .text1  :
71   {
72     *(.text1)
73   }  > text1
75 /* This is the flash page window. */
76 /* We use this as paged blocks not directly so it's commented out. */
77 /*  .text2  :
78   {
79     *(.text2)
80   }  > text2 */
82 /* Non live tunable configuration items 1 */
83   .fixedconf1  :
84   {
85     *(.fixedconf1)
86   }  > fixedconf1
88 /* Non live tunable configuration items 1 */
89   .fixedconf2  :
90   {
91     *(.fixedconf2)
92   }  > fixedconf2
95 /*&&&&&&&&&&&&&& Paged Flash Regions &&&&&&&&&&&&&&*/
97 /* PPAGE FA is used for fuel tables and setup function */
98   .dpageFA  :
99   {
100     *(.dpageFA)
101   }  > dpageFA
103   .fpageFA  :
104   {
105     *(.fpageFA)
106   }  > fpageFA
108 /* PPAGE FB is used for smaller tunables and setup function */
109   .fpageFB  :
110   {
111     *(.fpageFB)
112   }  > fpageFB
114 /* Data split up into eight chunks to catch size mistakes better */
115   .dpageFB1 :
116   {
117     *(.dpageFB1)
118   }  > dpageFB1
120   .dpageFB2  :
121   {
122     *(.dpageFB2)
123   }  > dpageFB2
125   .dpageFB3  :
126   {
127     *(.dpageFB3)
128   }  > dpageFB3
130   .dpageFB4  :
131   {
132     *(.dpageFB4)
133   }  > dpageFB4
135   .dpageFB5  :
136   {
137     *(.dpageFB5)
138   }  > dpageFB5
140   .dpageFB6  :
141   {
142     *(.dpageFB6)
143   }  > dpageFB6
145   .dpageFB7  :
146   {
147     *(.dpageFB7)
148   }  > dpageFB7
150   .dpageFB8  :
151   {
152     *(.dpageFB8)
153   }  > dpageFB8
155 /* PPAGE FC is used for timing tables and setup function */
156   .dpageFC  :
157   {
158     *(.dpageFC)
159   }  > dpageFC
161   .fpageFC  :
162   {
163     *(.fpageFC)
164   }  > fpageFC
166 /* The rest from this 128k flash module for general code */
167   .ppageF8  :
168   {
169     *(.fpageF8)
170     *(.dpageF8)
171   }  > ppageF8
173   .fpageF9  :
174   {
175     *(.fpageF9)
176   }  > fpageF9
178   .dpageF9  :
179   {
180     *(.dpageF9)
181   }  > dpageF9
183   .ppageFE  :
184   {
185     *(.ppageFE)
186   }  > ppageFE
188 /* The following two blocks are included just for clarity */
189 /* and are the same as text1 and text when paged.         */
190 /*  .ppageFD  : (text1 / 0x4000 - 0x7FFF)
191   {
192     *(.ppageFD)
193   }  > ppageFD
195   .ppageFF  : (text / 0xC000 - 0xFFFF)
196   {
197     *(.ppageFF)
198   } > ppageFF */
201 /* The rest from the other 3 128k flash modules - can't use yet */
202   .ppageE0  :
203   {
204     *(.ppageE0)
205   }  > ppageE0
207   .ppageE1  :
208   {
209     *(.ppageE1)
210   }  > ppageE1
212   .ppageE2  :
213   {
214     *(.ppageE2)
215   }  > ppageE2
217   .ppageE3  :
218   {
219     *(.ppageE3)
220   }  > ppageE3
222   .ppageE4  :
223   {
224     *(.ppageE4)
225   }  > ppageE4
227   .ppageE5  :
228   {
229     *(.ppageE5)
230   }  > ppageE5
232   .ppageE6  :
233   {
234     *(.ppageE6)
235   }  > ppageE6
237   .ppageE7  :
238   {
239     *(.ppageE7)
240   }  > ppageE7
242   .ppageE8  :
243   {
244     *(.ppageE8)
245   }  > ppageE8
247   .ppageE9  :
248   {
249     *(.ppageE9)
250   }  > ppageE9
252   .ppageEA  :
253   {
254     *(.ppageEA)
255   }  > ppageEA
257   .ppageEB  :
258   {
259     *(.ppageEB)
260   }  > ppageEB
262   .ppageEC  :
263   {
264     *(.ppageEC)
265   }  > ppageEC
267   .ppageED  :
268   {
269     *(.ppageED)
270   }  > ppageED
272   .ppageEE  :
273   {
274     *(.ppageEE)
275   }  > ppageEE
277   .ppageEF  :
278   {
279     *(.ppageEF)
280   }  > ppageEF
282   .ppageF0  :
283   {
284     *(.ppageF0)
285   }  > ppageF0
287   .ppageF1  :
288   {
289     *(.ppageF1)
290   }  > ppageF1
292   .ppageF2  :
293   {
294     *(.ppageF2)
295   }  > ppageF2
297   .ppageF3  :
298   {
299     *(.ppageF3)
300   }  > ppageF3
302   .ppageF4  :
303   {
304     *(.ppageF4)
305   }  > ppageF4
307   .ppageF5  :
308   {
309     *(.ppageF5)
310   }  > ppageF5
312   .ppageF6  :
313   {
314     *(.ppageF6)
315   }  > ppageF6
317   .ppageF7  :
318   {
319     *(.ppageF7)
320   }  > ppageF7
324 /** @endcond */