Mercurial > public > ostc4
comparison BootLoader/CPU1-F429_boot.ld @ 869:4e10a3e087a1 Evo_2_23
Reactivate Bootloader:
The bootloader has not been compiled for a long time. Changes were necessary to catch up with the actual code
author | Ideenmodellierer |
---|---|
date | Mon, 12 Aug 2024 22:23:03 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
868:db92692c014f | 869:4e10a3e087a1 |
---|---|
1 /***************************************************************************** | |
2 * -*- coding: UTF-8 -*- | |
3 * | |
4 * \file Common/CPU1-F429.ld | |
5 * \brief Linker Script for CPU1 alias Discovery | |
6 * \author Ac6 workbench, Heinrichs Weikamp, and JD Gascuel | |
7 * \date 2018 | |
8 * | |
9 * \details | |
10 * Linker script for STM32F429IIT6 Device from STM32F4 series | |
11 * - 192Kbytes RAM | |
12 * - 2048Kbytes ROM | |
13 * | |
14 * Set heap size, stack size and stack location according | |
15 * to application requirements. | |
16 * | |
17 * Set memory bank area and size if external memory is used. | |
18 * | |
19 * $Id$ | |
20 ***************************************************************************** | |
21 * \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh | |
22 * | |
23 * This program is free software: you can redistribute it and/or modify | |
24 * it under the terms of the GNU General Public License as published by | |
25 * the Free Software Foundation, either version 3 of the License, or | |
26 * (at your option) any later version. | |
27 * | |
28 * This program is distributed in the hope that it will be useful, | |
29 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
30 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
31 * GNU General Public License for more details. | |
32 * | |
33 * You should have received a copy of the GNU General Public License | |
34 * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
35 ***************************************************************************** | |
36 * HISTORY | |
37 * 2017-12-18 jDG: Mix between std AC6 file and chw stm32f429zi_flash.ld settings. | |
38 */ | |
39 | |
40 /* Entry Point */ | |
41 ENTRY(Reset_Handler) | |
42 | |
43 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") | |
44 OUTPUT_ARCH(arm) | |
45 SEARCH_DIR(.) | |
46 | |
47 /****************************************************************************/ | |
48 /***************************** Memory Definition ****************************/ | |
49 MEMORY | |
50 { | |
51 ROM_BOOT (rx) : ORIGIN = 0x08000000, LENGTH = 0x00040000 /* 256K */ | |
52 ROM (rx) : ORIGIN = 0x08040000, LENGTH = 0x00090000 /* 576K */ | |
53 UPPER(rx) : ORIGIN = 0x08132000, LENGTH = 0xAE270 /* 713K */ | |
54 RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 192K | |
55 CCRAM (rwx) : ORIGIN = 0x10000000, LENGTH = 64K | |
56 } | |
57 | |
58 /* Linker file shall be shared between Bootloader, Font and Firmware projects. Not used memory areas to be cut during bin generation */ | |
59 | |
60 /* Make sure ROM and UPPER are contiguous, and map 2MB */ | |
61 /* TODO: At the moment the size of the defined memory will be directly reflected into the file size of resultion bin => Keep small until not used memory may be excluded from build */ | |
62 /*ASSERT( ORIGIN(UPPER) - ORIGIN(ROM) == LENGTH(ROM), "ROM lower and upper region shall be continuous" ) | |
63 /*ASSERT( LENGTH(ROM) + LENGTH(UPPER) == 2048K, "ROM lower + upper regions = 2MB" ) */ | |
64 | |
65 /* Highest address of the user mode stack */ | |
66 /*_estack = ORIGIN(RAM) + LENGTH(RAM);*/ | |
67 | |
68 | |
69 _Min_Heap_Size = 0; /* no required heap (malloc'ed space) */ | |
70 _Min_Stack_Size = 0x08000; /* required 32K of stack */ | |
71 | |
72 /* Linker script to place sections and symbol values. Should be used together | |
73 * with other linker script that defines memory regions FLASH and RAM. | |
74 * It references following symbols, which must be defined in code: | |
75 * Reset_Handler : Entry of reset handler | |
76 * | |
77 * It defines following symbols, which code can use without definition: | |
78 * __exidx_start | |
79 * __exidx_end | |
80 * __preinit_array_start | |
81 * __preinit_array_end | |
82 * __init_array_start | |
83 * __init_array_end | |
84 * __fini_array_start | |
85 * __fini_array_end | |
86 * _sbss | |
87 * __bss_start__ | |
88 * _ebss | |
89 * __bss_end__ | |
90 * _edata | |
91 * end | |
92 * _end | |
93 * _estack | |
94 */ | |
95 | |
96 /****************************************************************************/ | |
97 /*************************** Code and Data Sections *************************/ | |
98 SECTIONS | |
99 { | |
100 /******************* NVIC reset and interupt vectors **********************/ | |
101 | |
102 .isr_vector 0x08000000 : | |
103 { | |
104 . = ALIGN(4); | |
105 KEEP( *(.isr_vector) ) | |
106 KEEP(*(.init)) | |
107 } >ROM_BOOT | |
108 | |
109 | |
110 .StdLibs 0x08000200: | |
111 { | |
112 . = ALIGN(4); | |
113 *libm.a:*(*) | |
114 } >ROM_BOOT | |
115 | |
116 .rodata : | |
117 { | |
118 . = ALIGN(4); | |
119 *(.rodata) /* .rodata sections (constants, strings, etc.) */ | |
120 *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ | |
121 . = ALIGN(4); | |
122 } >ROM_BOOT | |
123 | |
124 /********************** Constant data into ROM memory *********************/ | |
125 | |
126 | |
127 .ARM.extab : { | |
128 . = ALIGN(4); | |
129 *(.ARM.extab* .gnu.linkonce.armextab.*) | |
130 . = ALIGN(4); | |
131 } >ROM_BOOT | |
132 | |
133 .ARM : { | |
134 . = ALIGN(4); | |
135 __exidx_start = .; | |
136 *(.ARM.exidx*) | |
137 __exidx_end = .; | |
138 . = ALIGN(4); | |
139 } >ROM_BOOT | |
140 | |
141 .preinit_array : | |
142 { | |
143 . = ALIGN(4); | |
144 PROVIDE_HIDDEN( __preinit_array_start = . ); | |
145 KEEP( *(.preinit_array*) ) | |
146 PROVIDE_HIDDEN( __preinit_array_end = . ); | |
147 . = ALIGN(4); | |
148 } >ROM_BOOT | |
149 | |
150 .init_array : | |
151 { | |
152 . = ALIGN(4); | |
153 PROVIDE_HIDDEN( __init_array_start = . ); | |
154 KEEP( *(SORT(.init_array.*)) ) | |
155 KEEP( *(.init_array*) ) | |
156 PROVIDE_HIDDEN( __init_array_end = . ); | |
157 . = ALIGN(4); | |
158 } >ROM_BOOT | |
159 | |
160 .fini_array : | |
161 { | |
162 . = ALIGN(4); | |
163 PROVIDE_HIDDEN( __fini_array_start = . ); | |
164 KEEP( *(SORT(.fini_array.*)) ) | |
165 KEEP( *(.fini_array*) ) | |
166 PROVIDE_HIDDEN( __fini_array_end = . ); | |
167 . = ALIGN(4); | |
168 } >ROM_BOOT | |
169 | |
170 /************* The program code and other data into ROM memory ************/ | |
171 | |
172 /* | |
173 .firmware_FirmwareData 0x08050000 : { | |
174 KEEP( *(.firmware_firmware_data) ) | |
175 } >ROM | |
176 | |
177 .font_firmware_data 0x08132000 : { | |
178 KEEP( *(.font_firmware_data) ) | |
179 | |
180 } >UPPER | |
181 */ | |
182 | |
183 /************* Data and Structures at absolute address in ROM *************/ | |
184 | |
185 /* FIXME: this sets the SFirmwareData structure, not the code ... */ | |
186 .bootloader_firmware_data 0x0800A000 : { | |
187 PROVIDE( bootloader_FirmwareData = . ); | |
188 KEEP( *(.bootloader_firmware_data) ) | |
189 } > ROM_BOOT | |
190 | |
191 | |
192 | |
193 .text 0x08001000 : | |
194 { | |
195 . = ALIGN(4); | |
196 *(.text.HAL*) | |
197 . = ALIGN(4); | |
198 } >ROM_BOOT | |
199 | |
200 | |
201 .text2 0x0800A100 : | |
202 { | |
203 . = ALIGN(4); | |
204 *(.text) /* .text sections (code) */ | |
205 *(.text*) /* .text* sections (code) */ | |
206 *(.glue_7) /* glue arm to thumb code */ | |
207 *(.glue_7t) /* glue thumb to arm code */ | |
208 *(.eh_frame) | |
209 . = ALIGN(4); | |
210 _etext = .; /* define a global symbols at end of code */ | |
211 } >ROM_BOOT | |
212 | |
213 | |
214 | |
215 /* Define Known Address for Each Font */ | |
216 /* Flash Sector 23 is protected (bootloader font + image) => use end of sector 22 */ | |
217 | |
218 .lower_fonts 0x08016000 : { | |
219 *(.lower_fonts.image_data_*) | |
220 *(.lower_fonts.*) | |
221 *(.upper_fonts.image_data_FontT48*) | |
222 *(.upper_fonts.FontT48*) | |
223 *(.upper_fonts.image_data_FontT24*) | |
224 *(.upper_fonts.FontT24*) | |
225 } > ROM_BOOT | |
226 | |
227 .lower_directory 0x08004000 : { | |
228 *(.lower_font_directory*) | |
229 *(.upper_font_directory.FontT48*) | |
230 *(.upper_font_directory.FontT24*) | |
231 } > ROM_BOOT | |
232 | |
233 | |
234 .lower_image 0x08009000 : { | |
235 *(.lower_image*) | |
236 | |
237 } > ROM_BOOT | |
238 | |
239 .lower_directory 0x08009500 : { | |
240 *(.lower_image_directory*) | |
241 } > ROM_BOOT | |
242 | |
243 .upper_fonts 0x08132040 : { | |
244 __upper_font_data = .; | |
245 . = 0x13E; | |
246 *(.upper_fonts.image_data_FontT144_0x0030) | |
247 . = 0x02515; | |
248 *(.upper_fonts.image_data_FontT144_0x0031) | |
249 . = 0x03469; | |
250 *(.upper_fonts.image_data_FontT144_0x0032) | |
251 . = 0x4FDC; | |
252 *(.upper_fonts.image_data_FontT144_0x0033) | |
253 . = 0x6862; | |
254 *(.upper_fonts.image_data_FontT144_0x0034) | |
255 . = 0x86C2; | |
256 *(.upper_fonts.image_data_FontT144_0x0035) | |
257 . = 0x9FB3; | |
258 *(.upper_fonts.image_data_FontT144_0x0036) | |
259 . = 0xBB26; | |
260 *(.upper_fonts.image_data_FontT144_0x0037) | |
261 . = 0xD845; | |
262 *(.upper_fonts.image_data_FontT144_0x0038) | |
263 . = 0xF34D; | |
264 *(.upper_fonts.image_data_FontT144_0x0039) | |
265 . = 0x10EC0; | |
266 *(.upper_fonts.image_data_FontT24_0x0020) | |
267 *(.upper_fonts.image_data_FontT24_0x0021) | |
268 *(.upper_fonts.image_data_FontT24_0x0022) | |
269 *(.upper_fonts.image_data_FontT24_0x0023) | |
270 *(.upper_fonts.image_data_FontT24_0x0024) | |
271 *(.upper_fonts.image_data_FontT24_0x0025) | |
272 *(.upper_fonts.image_data_FontT24_0x0026) | |
273 *(.upper_fonts.image_data_FontT24_0x0027) | |
274 *(.upper_fonts.image_data_FontT24_0x0028) | |
275 *(.upper_fonts.image_data_FontT24_0x0029) | |
276 *(.upper_fonts.image_data_FontT24_0x002a) | |
277 *(.upper_fonts.image_data_FontT24_0x003f) | |
278 *(.upper_fonts.image_data_FontT24_0x002c) | |
279 *(.upper_fonts.image_data_FontT24_0x002d) | |
280 *(.upper_fonts.image_data_FontT24_0x002e) | |
281 *(.upper_fonts.image_data_FontT24_0x002f) | |
282 *(.upper_fonts.image_data_FontT24_0x0030) | |
283 *(.upper_fonts.image_data_FontT24_0x0031) | |
284 *(.upper_fonts.image_data_FontT24_0x0032) | |
285 *(.upper_fonts.image_data_FontT24_0x0033) | |
286 *(.upper_fonts.image_data_FontT24_0x0034) | |
287 *(.upper_fonts.image_data_FontT24_0x0035) | |
288 *(.upper_fonts.image_data_FontT24_0x0036) | |
289 *(.upper_fonts.image_data_FontT24_0x0037) | |
290 *(.upper_fonts.image_data_FontT24_0x0038) | |
291 *(.upper_fonts.image_data_FontT24_0x0039) | |
292 *(.upper_fonts.image_data_FontT24_0x003a) | |
293 *(.upper_fonts.image_data_FontT24_0x003b) | |
294 *(.upper_fonts.image_data_FontT24_0x003c) | |
295 *(.upper_fonts.image_data_FontT24_0x003d) | |
296 *(.upper_fonts.image_data_FontT24_0x003e) | |
297 . = . + 0x8c; | |
298 *(.upper_fonts.image_data_FontT24_0x0040) | |
299 *(.upper_fonts.image_data_FontT24_0x0041) | |
300 *(.upper_fonts.image_data_FontT24_0x0042) | |
301 *(.upper_fonts.image_data_FontT24_0x0043) | |
302 *(.upper_fonts.image_data_FontT24_0x0044) | |
303 *(.upper_fonts.image_data_FontT24_0x0045) | |
304 *(.upper_fonts.image_data_FontT24_0x0046) | |
305 *(.upper_fonts.image_data_FontT24_0x0047) | |
306 *(.upper_fonts.image_data_FontT24_0x0048) | |
307 *(.upper_fonts.image_data_FontT24_0x0049) | |
308 *(.upper_fonts.image_data_FontT24_0x004a) | |
309 *(.upper_fonts.image_data_FontT24_0x004b) | |
310 *(.upper_fonts.image_data_FontT24_0x004c) | |
311 *(.upper_fonts.image_data_FontT24_0x004d) | |
312 *(.upper_fonts.image_data_FontT24_0x004e) | |
313 *(.upper_fonts.image_data_FontT24_0x004f) | |
314 *(.upper_fonts.image_data_FontT24_0x0050) | |
315 *(.upper_fonts.image_data_FontT24_0x0051) | |
316 *(.upper_fonts.image_data_FontT24_0x0052) | |
317 *(.upper_fonts.image_data_FontT24_0x0053) | |
318 *(.upper_fonts.image_data_FontT24_0x0054) | |
319 *(.upper_fonts.image_data_FontT24_0x0055) | |
320 *(.upper_fonts.image_data_FontT24_0x0056) | |
321 *(.upper_fonts.image_data_FontT24_0x0057) | |
322 *(.upper_fonts.image_data_FontT24_0x0058) | |
323 *(.upper_fonts.image_data_FontT24_0x0059) | |
324 *(.upper_fonts.image_data_FontT24_0x005a) | |
325 *(.upper_fonts.image_data_FontT24_0x005b) | |
326 *(.upper_fonts.image_data_FontT24_0x005c) | |
327 *(.upper_fonts.image_data_FontT24_0x005d) | |
328 *(.upper_fonts.image_data_FontT24_0x005e) | |
329 *(.upper_fonts.image_data_FontT24_0x005f) | |
330 *(.upper_fonts.image_data_FontT24_0x0060) | |
331 *(.upper_fonts.image_data_FontT24_0x0061) | |
332 *(.upper_fonts.image_data_FontT24_0x0062) | |
333 *(.upper_fonts.image_data_FontT24_0x0063) | |
334 . = . + 0x1c; | |
335 *(.upper_fonts.image_data_FontT24_0x0064) | |
336 *(.upper_fonts.image_data_FontT24_0x0065) | |
337 *(.upper_fonts.image_data_FontT24_0x0066) | |
338 *(.upper_fonts.image_data_FontT24_0x0067) | |
339 *(.upper_fonts.image_data_FontT24_0x0068) | |
340 *(.upper_fonts.image_data_FontT24_0x0069) | |
341 *(.upper_fonts.image_data_FontT24_0x006a) | |
342 *(.upper_fonts.image_data_FontT24_0x006b) | |
343 *(.upper_fonts.image_data_FontT24_0x006c) | |
344 *(.upper_fonts.image_data_FontT24_0x006d) | |
345 *(.upper_fonts.image_data_FontT24_0x006e) | |
346 *(.upper_fonts.image_data_FontT24_0x006f) | |
347 *(.upper_fonts.image_data_FontT24_0x0070) | |
348 *(.upper_fonts.image_data_FontT24_0x0071) | |
349 *(.upper_fonts.image_data_FontT24_0x0072) | |
350 *(.upper_fonts.image_data_FontT24_0x0073) | |
351 *(.upper_fonts.image_data_FontT24_0x0074) | |
352 *(.upper_fonts.image_data_FontT24_0x0075) | |
353 *(.upper_fonts.image_data_FontT24_0x0076) | |
354 *(.upper_fonts.image_data_FontT24_0x0077) | |
355 *(.upper_fonts.image_data_FontT24_0x0078) | |
356 *(.upper_fonts.image_data_FontT24_0x0079) | |
357 *(.upper_fonts.image_data_FontT24_0x007a) | |
358 *(.upper_fonts.image_data_FontT24_0x007b) | |
359 *(.upper_fonts.image_data_FontT24_0x007c) | |
360 . = . + 0x1c; | |
361 *(.upper_fonts.image_data_FontT24_0x007d) | |
362 *(.upper_fonts.image_data_FontT24_0x007e) | |
363 *(.upper_fonts.image_data_FontT24_0x00a1) | |
364 *(.upper_fonts.image_data_FontT24_0x00bf) | |
365 *(.upper_fonts.image_data_FontT24_0x00c1) | |
366 *(.upper_fonts.image_data_FontT24_0x00c4) | |
367 *(.upper_fonts.image_data_FontT24_0x00c6) | |
368 *(.upper_fonts.image_data_FontT24_0x00c7) | |
369 *(.upper_fonts.image_data_FontT24_0x00c9) | |
370 *(.upper_fonts.image_data_FontT24_0x00cd) | |
371 *(.upper_fonts.image_data_FontT24_0x00d1) | |
372 *(.upper_fonts.image_data_FontT24_0x00d3) | |
373 *(.upper_fonts.image_data_FontT24_0x00d6) | |
374 *(.upper_fonts.image_data_FontT24_0x00da) | |
375 *(.upper_fonts.image_data_FontT24_0x00dc) | |
376 *(.upper_fonts.image_data_FontT24_0x00df) | |
377 *(.upper_fonts.image_data_FontT24_0x00e0) | |
378 *(.upper_fonts.image_data_FontT24_0x00e1) | |
379 *(.upper_fonts.image_data_FontT24_0x00e2) | |
380 *(.upper_fonts.image_data_FontT24_0x00e4) | |
381 *(.upper_fonts.image_data_FontT24_0x00e6) | |
382 *(.upper_fonts.image_data_FontT24_0x00e7) | |
383 *(.upper_fonts.image_data_FontT24_0x00e8) | |
384 *(.upper_fonts.image_data_FontT24_0x00e9) | |
385 *(.upper_fonts.image_data_FontT24_0x00ec) | |
386 *(.upper_fonts.image_data_FontT24_0x00ed) | |
387 *(.upper_fonts.image_data_FontT24_0x00f0) | |
388 *(.upper_fonts.image_data_FontT24_0x00f1) | |
389 *(.upper_fonts.image_data_FontT24_0x00f2) | |
390 *(.upper_fonts.image_data_FontT24_0x00f3) | |
391 *(.upper_fonts.image_data_FontT24_0x00f6) | |
392 *(.upper_fonts.image_data_FontT24_0x00f9) | |
393 *(.upper_fonts.image_data_FontT24_0x00fa) | |
394 *(.upper_fonts.image_data_FontT24_0x00fc) | |
395 *(.upper_fonts.image_data_FontT24_0x00ff) | |
396 *(.upper_fonts.image_data_FontT24_0x0152) | |
397 *(.upper_fonts.image_data_FontT24_0x0153) | |
398 *(.upper_fonts.image_data_FontT24_0x0178) | |
399 *(.upper_fonts.image_data_FontT24_0x002b) | |
400 . = . + 0x1d642; | |
401 *(.upper_images.image_data_ostc_fuer_Tauchcomputer_240px) | |
402 *(.upper_fonts.image_data_FontT84_0x002e) | |
403 . = . + 0x9f; | |
404 *(.upper_fonts.image_data_FontT84_0x0030) | |
405 . = . + 0x0d; | |
406 *(.upper_fonts.image_data_FontT84_0x0031) | |
407 . = . + 0xaa; | |
408 *(.upper_fonts.image_data_FontT84_0x0032) | |
409 . = . + 0x7b; | |
410 *(.upper_fonts.image_data_FontT84_0x0033) | |
411 . = . + 0x38; | |
412 *(.upper_fonts.image_data_FontT84_0x0034) | |
413 . = . + 0x7f; | |
414 *(.upper_fonts.image_data_FontT84_0x0035) | |
415 . = . + 0x77; | |
416 *(.upper_fonts.image_data_FontT84_0x0036) | |
417 . = . + 0x7b; | |
418 *(.upper_fonts.image_data_FontT84_0x0037) | |
419 . = . + 0x0d; | |
420 *(.upper_fonts.image_data_FontT84_0x0038) | |
421 . = . + 0x2b; | |
422 *(.upper_fonts.image_data_FontT84_0x0039) | |
423 . = . + 0xe8; | |
424 *(.upper_fonts.image_data_FontT54_0x0022) | |
425 *(.upper_fonts.image_data_FontT54_0x0025) | |
426 . = . + 0x112; | |
427 *(.upper_fonts.image_data_FontT54_0x0027) | |
428 . = . + 0xd8; | |
429 *(.upper_fonts.image_data_FontT54_0x002a) | |
430 . = . + 0x133; | |
431 *(.upper_fonts.image_data_FontT54_0x002d) | |
432 . = . + 0x1d7; | |
433 *(.upper_fonts.image_data_FontT54_0x002e) | |
434 . = . + 0x17b; | |
435 *(.upper_fonts.image_data_FontT54_0x002f) | |
436 . = . + 0x02; | |
437 *(.upper_fonts.image_data_FontT54_0x0030) | |
438 . = . + 0x0ba; | |
439 *(.upper_fonts.image_data_FontT54_0x0031) | |
440 . = . + 0x27d; | |
441 *(.upper_fonts.image_data_FontT54_0x0032) | |
442 . = . + 0xe3; | |
443 *(.upper_fonts.image_data_FontT54_0x0033) | |
444 . = . + 0x35; | |
445 *(.upper_fonts.image_data_FontT54_0x0034) | |
446 . = . + 0x68; | |
447 *(.upper_fonts.image_data_FontT54_0x0035) | |
448 . = . + 0x35; | |
449 *(.upper_fonts.image_data_FontT54_0x0036) | |
450 . = . + 0xba; | |
451 *(.upper_fonts.image_data_FontT54_0x0037) | |
452 . = . + 0x191; | |
453 *(.upper_fonts.image_data_FontT54_0x0038) | |
454 . = . + 0xe3; | |
455 *(.upper_fonts.image_data_FontT54_0x0039) | |
456 . = . + 0xe3; | |
457 *(.upper_fonts.image_data_FontT54_0x003a) | |
458 . = . + 0x7b; | |
459 *(.upper_fonts.image_data_FontT54_0x0043) | |
460 . = . + 0x3b; | |
461 *(.upper_fonts.image_data_FontT54_0x006c) | |
462 . = . + 0x2d; | |
463 *(.upper_fonts.image_data_FontT54_0x006d) | |
464 . = . + 0x94; | |
465 *(.upper_fonts.image_data_FontT54_0x00ba) | |
466 . = . + 0x0a; | |
467 | |
468 *(.upper_fonts.image_data_FontT105_0x002*) | |
469 *(.upper_fonts.image_data_FontT105_0x003*) | |
470 *(.upper_fonts.image_data_FontT105_0x0043) | |
471 . = . + 0x17c8; | |
472 *(.upper_fonts.image_data_FontT105_0x007c) | |
473 *(.upper_fonts.image_data_FontT105_0x00ba) | |
474 *(.upper_fonts.image_data_FontT105_54_0x006d) | |
475 | |
476 *(.upper_fonts.image_data_FontT54_0x0068) | |
477 . = . + 0x1195; | |
478 | |
479 *(.upper_fonts.image_data_FontT42_0x00b0) | |
480 *(.upper_fonts.image_data_FontT42_0x0020) | |
481 . = . + 0x23; | |
482 *(.upper_fonts.image_data_FontT42_0x002*) | |
483 *(.upper_fonts.image_data_FontT42_0x003*) | |
484 *(.upper_fonts.image_data_FontT42_0x004*) | |
485 *(.upper_fonts.image_data_FontT42_0x005*) | |
486 . = . + 0x420; | |
487 *(.upper_fonts.image_data_FontT42_0x006*) | |
488 *(.upper_fonts.image_data_FontT42_0x0070) | |
489 *(.upper_fonts.image_data_FontT42_0x0071) | |
490 *(.upper_fonts.image_data_FontT42_0x0072) | |
491 *(.upper_fonts.image_data_FontT42_0x0073) | |
492 *(.upper_fonts.image_data_FontT42_0x0074) | |
493 *(.upper_fonts.image_data_FontT42_0x0075) | |
494 *(.upper_fonts.image_data_FontT42_0x0076) | |
495 *(.upper_fonts.image_data_FontT42_0x0077) | |
496 *(.upper_fonts.image_data_FontT42_0x0078) | |
497 *(.upper_fonts.image_data_FontT42_0x0079) | |
498 . = . + 0x12c0; | |
499 *(.upper_fonts.image_data_FontT42_*) | |
500 *(.upper_fonts.image_data_T54addon_0x002b_PLUS*) | |
501 *(.upper_fonts.image_data_T54addon_0x0040_AT*) | |
502 *(.upper_fonts.image_data_FontT48addon*) | |
503 *(.upper_fonts.image_data_FontT24plus_0x00fb*) | |
504 *(.upper_fonts.image_data_FontT24plus_0x00fd*) | |
505 *(.upper_fonts.image_data_FontT48_*) | |
506 *(.upper_fonts.image_data_awe48_*) | |
507 | |
508 /* moving of fonts from lower to upper */ | |
509 | |
510 *(.upper_fonts.*) | |
511 | |
512 __upper_font_data_end = .; | |
513 } >UPPER | |
514 | |
515 | |
516 | |
517 .upper_directory 0x081DEF00 : { | |
518 __font_directory = .; | |
519 *(.upper_font_directory.Awe48) | |
520 *(.upper_font_directory.FontT24) | |
521 *(.upper_font_directory.FontT42) | |
522 *(.upper_font_directory.FontT48) | |
523 *(.upper_font_directory.FontT54) | |
524 *(.upper_font_directory.FontT84) | |
525 *(.upper_font_directory.FontT105) | |
526 *(.upper_font_directory.FontT144) | |
527 *(.upper_font_directory.Batt24*) | |
528 | |
529 __font_directory_end = .; | |
530 LONG( -1 ); /* Magic End Marker */ | |
531 | |
532 } >UPPER | |
533 | |
534 | |
535 | |
536 | |
537 | |
538 /* Used by the startup to initialize data */ | |
539 _sidata = LOADADDR(.data); | |
540 | |
541 /************ Initialized Data Sections into RAM & ROM Memory **************/ | |
542 .data : | |
543 { | |
544 . = ALIGN(4); | |
545 | |
546 _sdata = .; /* create a global symbol at data start */ | |
547 *(.data) /* .data sections */ | |
548 *(.data*) /* .data* sections */ | |
549 *(vtable) | |
550 | |
551 . = ALIGN(4); | |
552 _edata = .; /* define a global symbol at data end */ | |
553 } >RAM AT>ROM_BOOT | |
554 | |
555 | |
556 | |
557 /*************** Uninitialized Data Section into RAM Memory ****************/ | |
558 .bss : | |
559 { | |
560 . = ALIGN(4); | |
561 | |
562 /* This is used by the startup in order to initialize the .bss secion */ | |
563 _sbss = .; /* define a global symbol at bss start */ | |
564 __bss_start__ = _sbss; | |
565 *(.bss) | |
566 *(.bss*) | |
567 *(COMMON) | |
568 | |
569 . = ALIGN(4); | |
570 _ebss = .; /* define a global symbol at bss end */ | |
571 __bss_end__ = _ebss; | |
572 } >RAM | |
573 | |
574 /********************** User_heap_stack section ****************************/ | |
575 /* just to check that there is enough RAM left */ | |
576 ._user_heap_stack : | |
577 { | |
578 . = ALIGN(8); | |
579 PROVIDE ( end = . ); | |
580 PROVIDE ( _end = . ); | |
581 PROVIDE ( __end__ = . ); | |
582 . = . + _Min_Heap_Size; | |
583 . = . + _Min_Stack_Size; | |
584 . = ALIGN(8); | |
585 _estack = .; | |
586 } >RAM | |
587 | |
588 /* Remove information from the compiler libraries */ | |
589 /DISCARD/ : | |
590 { | |
591 libc.a ( * ) | |
592 libm.a ( * ) | |
593 libgcc.a ( * ) | |
594 } | |
595 | |
596 .ARM.attributes 0 : { *(.ARM.attributes) } | |
597 } |