FreeEMS
0.2.0-SNAPSHOT-285-g028e24c
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
src
main
regions.x
Go to the documentation of this file.
1
/* FreeEMS - the open source engine management system
2
3
Copyright 2008-2009 Fred Cooke
4
5
This file is part of the FreeEMS project.
6
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.
11
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.
16
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/
19
20
We ask that if you make any changes to this file you email them upstream to
21
us at admin(at)diyefi(dot)org or, even better, fork the code on github.com!
22
23
Thank you for choosing FreeEMS to run your engine! */
24
25
26
/** @file
27
*
28
* @brief Region mapping linker script
29
*
30
* Code section to memory region mapping definition file for inclusion
31
* into the linker script. This file provides rules which map pieces of
32
* code and data from named sections into specific named memory regions.
33
* See memory.x and hc9s12xdp512elfb.x for more information.
34
*
35
* A description of what some of this means can be found at the following URLs:
36
* - http://www.gnu.org/software/m68hc11/m68hc11_binutils.html
37
* - http://m68hc11.serveftp.org/wiki/index.php/FAQ:Link
38
*
39
* @cond regionsscript
40
*/
41
42
43
SECTIONS
44
{
45
46
/*&&&&&&&&&&&&&& RAM Regions &&&&&&&&&&&&&&*/
47
48
/* The main RAM region is called "data" and */
49
/* can be found in the main linker script */
50
51
/* The RAM page window through which all tunable config is reached. */
52
.rpage :
53
{
54
*(.rpage)
55
} > rpage
56
57
/* Comms transmission buffer */
58
.txbuf :
59
{
60
*(.txbuf)
61
} > txbuf
62
63
/* Comms reception buffer */
64
.rxbuf :
65
{
66
*(.rxbuf)
67
} > rxbuf
68
69
70
/*&&&&&&&&&&&&&& Linear Flash Regions &&&&&&&&&&&&&&*/
71
72
/* Primary linear code and persistent data is called */
73
/* "text" and can be found in the main linker script */
74
75
/* Secondary linear code and persistent data */
76
.text1 :
77
{
78
*(.text1)
79
} > text1
80
81
/* This is the flash page window. */
82
/* We use this as paged blocks not directly so it's commented out. */
83
/* .text2 :
84
{
85
*(.text2)
86
} > text2 */
87
88
/* Non live tunable configuration items 1 */
89
.fixedconf1 :
90
{
91
*(.fixedconf1)
92
} > fixedconf1
93
94
/* Non live tunable configuration items 1 */
95
.fixedconf2 :
96
{
97
*(.fixedconf2)
98
} > fixedconf2
99
100
101
/*&&&&&&&&&&&&&& Paged Flash Regions &&&&&&&&&&&&&&*/
102
103
/* PPAGE FA is used for fuel tables and setup function */
104
.dpageFA :
105
{
106
*(.dpageFA)
107
} > dpageFA
108
109
.fpageFA :
110
{
111
*(.fpageFA)
112
} > fpageFA
113
114
/* PPAGE FB is used for smaller tunables and setup function */
115
.fpageFB :
116
{
117
*(.fpageFB)
118
} > fpageFB
119
120
/* Data split up into eight chunks to catch size mistakes better */
121
.dpageFB1 :
122
{
123
*(.dpageFB1)
124
} > dpageFB1
125
126
.dpageFB2 :
127
{
128
*(.dpageFB2)
129
} > dpageFB2
130
131
.dpageFB3 :
132
{
133
*(.dpageFB3)
134
} > dpageFB3
135
136
.dpageFB4 :
137
{
138
*(.dpageFB4)
139
} > dpageFB4
140
141
.dpageFB5 :
142
{
143
*(.dpageFB5)
144
} > dpageFB5
145
146
.dpageFB6 :
147
{
148
*(.dpageFB6)
149
} > dpageFB6
150
151
.dpageFB7 :
152
{
153
*(.dpageFB7)
154
} > dpageFB7
155
156
.dpageFB8 :
157
{
158
*(.dpageFB8)
159
} > dpageFB8
160
161
/* PPAGE FC is used for timing tables and setup function */
162
.dpageFC :
163
{
164
*(.dpageFC)
165
} > dpageFC
166
167
.fpageFC :
168
{
169
*(.fpageFC)
170
} > fpageFC
171
172
/* The rest from this 128k flash module for general code */
173
.ppageF8 :
174
{
175
*(.fpageF8)
176
*(.dpageF8)
177
} > ppageF8
178
179
.fpageF9 :
180
{
181
*(.fpageF9)
182
} > fpageF9
183
184
.dpageF9 :
185
{
186
*(.dpageF9)
187
} > dpageF9
188
189
.ppageFE :
190
{
191
*(.ppageFE)
192
} > ppageFE
193
194
/* The following two blocks are included just for clarity */
195
/* and are the same as text1 and text when paged. */
196
/* .ppageFD : (text1 / 0x4000 - 0x7FFF)
197
{
198
*(.ppageFD)
199
} > ppageFD
200
201
.ppageFF : (text / 0xC000 - 0xFFFF)
202
{
203
*(.ppageFF)
204
} > ppageFF */
205
206
207
.ppageE0X :
208
{
209
*(.ppageE0X)
210
} > ppageE0X
211
212
.ppageE0S :
213
{
214
*(.ppageE0S)
215
} > ppageE0S
216
217
.ppageE1 :
218
{
219
*(.ppageE1)
220
} > ppageE1
221
222
.ppageE2 :
223
{
224
*(.ppageE2)
225
} > ppageE2
226
227
.ppageE3 :
228
{
229
*(.ppageE3)
230
} > ppageE3
231
232
.ppageE4 :
233
{
234
*(.ppageE4)
235
} > ppageE4
236
237
.ppageE5 :
238
{
239
*(.ppageE5)
240
} > ppageE5
241
242
.ppageE6 :
243
{
244
*(.ppageE6)
245
} > ppageE6
246
247
.ppageE7 :
248
{
249
*(.ppageE7)
250
} > ppageE7
251
252
.ppageE8 :
253
{
254
*(.ppageE8)
255
} > ppageE8
256
257
.ppageE9 :
258
{
259
*(.ppageE9)
260
} > ppageE9
261
262
.ppageEA :
263
{
264
*(.ppageEA)
265
} > ppageEA
266
267
.ppageEB :
268
{
269
*(.ppageEB)
270
} > ppageEB
271
272
.ppageEC :
273
{
274
*(.ppageEC)
275
} > ppageEC
276
277
.ppageED :
278
{
279
*(.ppageED)
280
} > ppageED
281
282
.ppageEE :
283
{
284
*(.ppageEE)
285
} > ppageEE
286
287
.ppageEF :
288
{
289
*(.ppageEF)
290
} > ppageEF
291
292
.ppageF0 :
293
{
294
*(.ppageF0)
295
} > ppageF0
296
297
.ppageF1 :
298
{
299
*(.ppageF1)
300
} > ppageF1
301
302
.ppageF2 :
303
{
304
*(.ppageF2)
305
} > ppageF2
306
307
.ppageF3 :
308
{
309
*(.ppageF3)
310
} > ppageF3
311
312
.ppageF4 :
313
{
314
*(.ppageF4)
315
} > ppageF4
316
317
.ppageF5 :
318
{
319
*(.ppageF5)
320
} > ppageF5
321
322
.ppageF6 :
323
{
324
*(.ppageF6)
325
} > ppageF6
326
327
.ppageF7 :
328
{
329
*(.ppageF7)
330
} > ppageF7
331
}
332
333
334
/** @endcond */
Generated on Sat Jun 6 2015 07:41:33 for FreeEMS by
1.8.1.2