Mercurial > public > ostc4
annotate BootLoader/CPU1-F429_boot.ld @ 962:3d8c22c1f9e2 Evo_2_23 tip
Position view for flipped mode:
the position view was not displayed correct in flipped mode. This problem has been fixed in the new version by adaptation of the window parameters
author | Ideenmodellierer |
---|---|
date | Sun, 12 Jan 2025 19:17:17 +0100 |
parents | 2130d771c8db |
children |
rev | line source |
---|---|
869 | 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 | |
961
2130d771c8db
Bootloader: Activate Hardware data defaults:
Ideenmodellierer
parents:
869
diff
changeset
|
191 .bootloader_hardware_data 0x0800A040 : { |
2130d771c8db
Bootloader: Activate Hardware data defaults:
Ideenmodellierer
parents:
869
diff
changeset
|
192 PROVIDE( bootloader_HardwareData = . ); |
2130d771c8db
Bootloader: Activate Hardware data defaults:
Ideenmodellierer
parents:
869
diff
changeset
|
193 KEEP( *(.bootloader_hardware_data) ) |
2130d771c8db
Bootloader: Activate Hardware data defaults:
Ideenmodellierer
parents:
869
diff
changeset
|
194 } > ROM_BOOT |
869 | 195 |
196 .text 0x08001000 : | |
197 { | |
198 . = ALIGN(4); | |
199 *(.text.HAL*) | |
200 . = ALIGN(4); | |
201 } >ROM_BOOT | |
202 | |
203 | |
204 .text2 0x0800A100 : | |
205 { | |
206 . = ALIGN(4); | |
207 *(.text) /* .text sections (code) */ | |
208 *(.text*) /* .text* sections (code) */ | |
209 *(.glue_7) /* glue arm to thumb code */ | |
210 *(.glue_7t) /* glue thumb to arm code */ | |
211 *(.eh_frame) | |
212 . = ALIGN(4); | |
213 _etext = .; /* define a global symbols at end of code */ | |
214 } >ROM_BOOT | |
215 | |
216 | |
217 | |
218 /* Define Known Address for Each Font */ | |
219 /* Flash Sector 23 is protected (bootloader font + image) => use end of sector 22 */ | |
220 | |
221 .lower_fonts 0x08016000 : { | |
222 *(.lower_fonts.image_data_*) | |
223 *(.lower_fonts.*) | |
224 *(.upper_fonts.image_data_FontT48*) | |
225 *(.upper_fonts.FontT48*) | |
226 *(.upper_fonts.image_data_FontT24*) | |
227 *(.upper_fonts.FontT24*) | |
228 } > ROM_BOOT | |
229 | |
230 .lower_directory 0x08004000 : { | |
231 *(.lower_font_directory*) | |
232 *(.upper_font_directory.FontT48*) | |
233 *(.upper_font_directory.FontT24*) | |
234 } > ROM_BOOT | |
235 | |
236 | |
237 .lower_image 0x08009000 : { | |
238 *(.lower_image*) | |
239 | |
240 } > ROM_BOOT | |
241 | |
242 .lower_directory 0x08009500 : { | |
243 *(.lower_image_directory*) | |
244 } > ROM_BOOT | |
245 | |
246 .upper_fonts 0x08132040 : { | |
247 __upper_font_data = .; | |
248 . = 0x13E; | |
249 *(.upper_fonts.image_data_FontT144_0x0030) | |
250 . = 0x02515; | |
251 *(.upper_fonts.image_data_FontT144_0x0031) | |
252 . = 0x03469; | |
253 *(.upper_fonts.image_data_FontT144_0x0032) | |
254 . = 0x4FDC; | |
255 *(.upper_fonts.image_data_FontT144_0x0033) | |
256 . = 0x6862; | |
257 *(.upper_fonts.image_data_FontT144_0x0034) | |
258 . = 0x86C2; | |
259 *(.upper_fonts.image_data_FontT144_0x0035) | |
260 . = 0x9FB3; | |
261 *(.upper_fonts.image_data_FontT144_0x0036) | |
262 . = 0xBB26; | |
263 *(.upper_fonts.image_data_FontT144_0x0037) | |
264 . = 0xD845; | |
265 *(.upper_fonts.image_data_FontT144_0x0038) | |
266 . = 0xF34D; | |
267 *(.upper_fonts.image_data_FontT144_0x0039) | |
268 . = 0x10EC0; | |
269 *(.upper_fonts.image_data_FontT24_0x0020) | |
270 *(.upper_fonts.image_data_FontT24_0x0021) | |
271 *(.upper_fonts.image_data_FontT24_0x0022) | |
272 *(.upper_fonts.image_data_FontT24_0x0023) | |
273 *(.upper_fonts.image_data_FontT24_0x0024) | |
274 *(.upper_fonts.image_data_FontT24_0x0025) | |
275 *(.upper_fonts.image_data_FontT24_0x0026) | |
276 *(.upper_fonts.image_data_FontT24_0x0027) | |
277 *(.upper_fonts.image_data_FontT24_0x0028) | |
278 *(.upper_fonts.image_data_FontT24_0x0029) | |
279 *(.upper_fonts.image_data_FontT24_0x002a) | |
280 *(.upper_fonts.image_data_FontT24_0x003f) | |
281 *(.upper_fonts.image_data_FontT24_0x002c) | |
282 *(.upper_fonts.image_data_FontT24_0x002d) | |
283 *(.upper_fonts.image_data_FontT24_0x002e) | |
284 *(.upper_fonts.image_data_FontT24_0x002f) | |
285 *(.upper_fonts.image_data_FontT24_0x0030) | |
286 *(.upper_fonts.image_data_FontT24_0x0031) | |
287 *(.upper_fonts.image_data_FontT24_0x0032) | |
288 *(.upper_fonts.image_data_FontT24_0x0033) | |
289 *(.upper_fonts.image_data_FontT24_0x0034) | |
290 *(.upper_fonts.image_data_FontT24_0x0035) | |
291 *(.upper_fonts.image_data_FontT24_0x0036) | |
292 *(.upper_fonts.image_data_FontT24_0x0037) | |
293 *(.upper_fonts.image_data_FontT24_0x0038) | |
294 *(.upper_fonts.image_data_FontT24_0x0039) | |
295 *(.upper_fonts.image_data_FontT24_0x003a) | |
296 *(.upper_fonts.image_data_FontT24_0x003b) | |
297 *(.upper_fonts.image_data_FontT24_0x003c) | |
298 *(.upper_fonts.image_data_FontT24_0x003d) | |
299 *(.upper_fonts.image_data_FontT24_0x003e) | |
300 . = . + 0x8c; | |
301 *(.upper_fonts.image_data_FontT24_0x0040) | |
302 *(.upper_fonts.image_data_FontT24_0x0041) | |
303 *(.upper_fonts.image_data_FontT24_0x0042) | |
304 *(.upper_fonts.image_data_FontT24_0x0043) | |
305 *(.upper_fonts.image_data_FontT24_0x0044) | |
306 *(.upper_fonts.image_data_FontT24_0x0045) | |
307 *(.upper_fonts.image_data_FontT24_0x0046) | |
308 *(.upper_fonts.image_data_FontT24_0x0047) | |
309 *(.upper_fonts.image_data_FontT24_0x0048) | |
310 *(.upper_fonts.image_data_FontT24_0x0049) | |
311 *(.upper_fonts.image_data_FontT24_0x004a) | |
312 *(.upper_fonts.image_data_FontT24_0x004b) | |
313 *(.upper_fonts.image_data_FontT24_0x004c) | |
314 *(.upper_fonts.image_data_FontT24_0x004d) | |
315 *(.upper_fonts.image_data_FontT24_0x004e) | |
316 *(.upper_fonts.image_data_FontT24_0x004f) | |
317 *(.upper_fonts.image_data_FontT24_0x0050) | |
318 *(.upper_fonts.image_data_FontT24_0x0051) | |
319 *(.upper_fonts.image_data_FontT24_0x0052) | |
320 *(.upper_fonts.image_data_FontT24_0x0053) | |
321 *(.upper_fonts.image_data_FontT24_0x0054) | |
322 *(.upper_fonts.image_data_FontT24_0x0055) | |
323 *(.upper_fonts.image_data_FontT24_0x0056) | |
324 *(.upper_fonts.image_data_FontT24_0x0057) | |
325 *(.upper_fonts.image_data_FontT24_0x0058) | |
326 *(.upper_fonts.image_data_FontT24_0x0059) | |
327 *(.upper_fonts.image_data_FontT24_0x005a) | |
328 *(.upper_fonts.image_data_FontT24_0x005b) | |
329 *(.upper_fonts.image_data_FontT24_0x005c) | |
330 *(.upper_fonts.image_data_FontT24_0x005d) | |
331 *(.upper_fonts.image_data_FontT24_0x005e) | |
332 *(.upper_fonts.image_data_FontT24_0x005f) | |
333 *(.upper_fonts.image_data_FontT24_0x0060) | |
334 *(.upper_fonts.image_data_FontT24_0x0061) | |
335 *(.upper_fonts.image_data_FontT24_0x0062) | |
336 *(.upper_fonts.image_data_FontT24_0x0063) | |
337 . = . + 0x1c; | |
338 *(.upper_fonts.image_data_FontT24_0x0064) | |
339 *(.upper_fonts.image_data_FontT24_0x0065) | |
340 *(.upper_fonts.image_data_FontT24_0x0066) | |
341 *(.upper_fonts.image_data_FontT24_0x0067) | |
342 *(.upper_fonts.image_data_FontT24_0x0068) | |
343 *(.upper_fonts.image_data_FontT24_0x0069) | |
344 *(.upper_fonts.image_data_FontT24_0x006a) | |
345 *(.upper_fonts.image_data_FontT24_0x006b) | |
346 *(.upper_fonts.image_data_FontT24_0x006c) | |
347 *(.upper_fonts.image_data_FontT24_0x006d) | |
348 *(.upper_fonts.image_data_FontT24_0x006e) | |
349 *(.upper_fonts.image_data_FontT24_0x006f) | |
350 *(.upper_fonts.image_data_FontT24_0x0070) | |
351 *(.upper_fonts.image_data_FontT24_0x0071) | |
352 *(.upper_fonts.image_data_FontT24_0x0072) | |
353 *(.upper_fonts.image_data_FontT24_0x0073) | |
354 *(.upper_fonts.image_data_FontT24_0x0074) | |
355 *(.upper_fonts.image_data_FontT24_0x0075) | |
356 *(.upper_fonts.image_data_FontT24_0x0076) | |
357 *(.upper_fonts.image_data_FontT24_0x0077) | |
358 *(.upper_fonts.image_data_FontT24_0x0078) | |
359 *(.upper_fonts.image_data_FontT24_0x0079) | |
360 *(.upper_fonts.image_data_FontT24_0x007a) | |
361 *(.upper_fonts.image_data_FontT24_0x007b) | |
362 *(.upper_fonts.image_data_FontT24_0x007c) | |
363 . = . + 0x1c; | |
364 *(.upper_fonts.image_data_FontT24_0x007d) | |
365 *(.upper_fonts.image_data_FontT24_0x007e) | |
366 *(.upper_fonts.image_data_FontT24_0x00a1) | |
367 *(.upper_fonts.image_data_FontT24_0x00bf) | |
368 *(.upper_fonts.image_data_FontT24_0x00c1) | |
369 *(.upper_fonts.image_data_FontT24_0x00c4) | |
370 *(.upper_fonts.image_data_FontT24_0x00c6) | |
371 *(.upper_fonts.image_data_FontT24_0x00c7) | |
372 *(.upper_fonts.image_data_FontT24_0x00c9) | |
373 *(.upper_fonts.image_data_FontT24_0x00cd) | |
374 *(.upper_fonts.image_data_FontT24_0x00d1) | |
375 *(.upper_fonts.image_data_FontT24_0x00d3) | |
376 *(.upper_fonts.image_data_FontT24_0x00d6) | |
377 *(.upper_fonts.image_data_FontT24_0x00da) | |
378 *(.upper_fonts.image_data_FontT24_0x00dc) | |
379 *(.upper_fonts.image_data_FontT24_0x00df) | |
380 *(.upper_fonts.image_data_FontT24_0x00e0) | |
381 *(.upper_fonts.image_data_FontT24_0x00e1) | |
382 *(.upper_fonts.image_data_FontT24_0x00e2) | |
383 *(.upper_fonts.image_data_FontT24_0x00e4) | |
384 *(.upper_fonts.image_data_FontT24_0x00e6) | |
385 *(.upper_fonts.image_data_FontT24_0x00e7) | |
386 *(.upper_fonts.image_data_FontT24_0x00e8) | |
387 *(.upper_fonts.image_data_FontT24_0x00e9) | |
388 *(.upper_fonts.image_data_FontT24_0x00ec) | |
389 *(.upper_fonts.image_data_FontT24_0x00ed) | |
390 *(.upper_fonts.image_data_FontT24_0x00f0) | |
391 *(.upper_fonts.image_data_FontT24_0x00f1) | |
392 *(.upper_fonts.image_data_FontT24_0x00f2) | |
393 *(.upper_fonts.image_data_FontT24_0x00f3) | |
394 *(.upper_fonts.image_data_FontT24_0x00f6) | |
395 *(.upper_fonts.image_data_FontT24_0x00f9) | |
396 *(.upper_fonts.image_data_FontT24_0x00fa) | |
397 *(.upper_fonts.image_data_FontT24_0x00fc) | |
398 *(.upper_fonts.image_data_FontT24_0x00ff) | |
399 *(.upper_fonts.image_data_FontT24_0x0152) | |
400 *(.upper_fonts.image_data_FontT24_0x0153) | |
401 *(.upper_fonts.image_data_FontT24_0x0178) | |
402 *(.upper_fonts.image_data_FontT24_0x002b) | |
403 . = . + 0x1d642; | |
404 *(.upper_images.image_data_ostc_fuer_Tauchcomputer_240px) | |
405 *(.upper_fonts.image_data_FontT84_0x002e) | |
406 . = . + 0x9f; | |
407 *(.upper_fonts.image_data_FontT84_0x0030) | |
408 . = . + 0x0d; | |
409 *(.upper_fonts.image_data_FontT84_0x0031) | |
410 . = . + 0xaa; | |
411 *(.upper_fonts.image_data_FontT84_0x0032) | |
412 . = . + 0x7b; | |
413 *(.upper_fonts.image_data_FontT84_0x0033) | |
414 . = . + 0x38; | |
415 *(.upper_fonts.image_data_FontT84_0x0034) | |
416 . = . + 0x7f; | |
417 *(.upper_fonts.image_data_FontT84_0x0035) | |
418 . = . + 0x77; | |
419 *(.upper_fonts.image_data_FontT84_0x0036) | |
420 . = . + 0x7b; | |
421 *(.upper_fonts.image_data_FontT84_0x0037) | |
422 . = . + 0x0d; | |
423 *(.upper_fonts.image_data_FontT84_0x0038) | |
424 . = . + 0x2b; | |
425 *(.upper_fonts.image_data_FontT84_0x0039) | |
426 . = . + 0xe8; | |
427 *(.upper_fonts.image_data_FontT54_0x0022) | |
428 *(.upper_fonts.image_data_FontT54_0x0025) | |
429 . = . + 0x112; | |
430 *(.upper_fonts.image_data_FontT54_0x0027) | |
431 . = . + 0xd8; | |
432 *(.upper_fonts.image_data_FontT54_0x002a) | |
433 . = . + 0x133; | |
434 *(.upper_fonts.image_data_FontT54_0x002d) | |
435 . = . + 0x1d7; | |
436 *(.upper_fonts.image_data_FontT54_0x002e) | |
437 . = . + 0x17b; | |
438 *(.upper_fonts.image_data_FontT54_0x002f) | |
439 . = . + 0x02; | |
440 *(.upper_fonts.image_data_FontT54_0x0030) | |
441 . = . + 0x0ba; | |
442 *(.upper_fonts.image_data_FontT54_0x0031) | |
443 . = . + 0x27d; | |
444 *(.upper_fonts.image_data_FontT54_0x0032) | |
445 . = . + 0xe3; | |
446 *(.upper_fonts.image_data_FontT54_0x0033) | |
447 . = . + 0x35; | |
448 *(.upper_fonts.image_data_FontT54_0x0034) | |
449 . = . + 0x68; | |
450 *(.upper_fonts.image_data_FontT54_0x0035) | |
451 . = . + 0x35; | |
452 *(.upper_fonts.image_data_FontT54_0x0036) | |
453 . = . + 0xba; | |
454 *(.upper_fonts.image_data_FontT54_0x0037) | |
455 . = . + 0x191; | |
456 *(.upper_fonts.image_data_FontT54_0x0038) | |
457 . = . + 0xe3; | |
458 *(.upper_fonts.image_data_FontT54_0x0039) | |
459 . = . + 0xe3; | |
460 *(.upper_fonts.image_data_FontT54_0x003a) | |
461 . = . + 0x7b; | |
462 *(.upper_fonts.image_data_FontT54_0x0043) | |
463 . = . + 0x3b; | |
464 *(.upper_fonts.image_data_FontT54_0x006c) | |
465 . = . + 0x2d; | |
466 *(.upper_fonts.image_data_FontT54_0x006d) | |
467 . = . + 0x94; | |
468 *(.upper_fonts.image_data_FontT54_0x00ba) | |
469 . = . + 0x0a; | |
470 | |
471 *(.upper_fonts.image_data_FontT105_0x002*) | |
472 *(.upper_fonts.image_data_FontT105_0x003*) | |
473 *(.upper_fonts.image_data_FontT105_0x0043) | |
474 . = . + 0x17c8; | |
475 *(.upper_fonts.image_data_FontT105_0x007c) | |
476 *(.upper_fonts.image_data_FontT105_0x00ba) | |
477 *(.upper_fonts.image_data_FontT105_54_0x006d) | |
478 | |
479 *(.upper_fonts.image_data_FontT54_0x0068) | |
480 . = . + 0x1195; | |
481 | |
482 *(.upper_fonts.image_data_FontT42_0x00b0) | |
483 *(.upper_fonts.image_data_FontT42_0x0020) | |
484 . = . + 0x23; | |
485 *(.upper_fonts.image_data_FontT42_0x002*) | |
486 *(.upper_fonts.image_data_FontT42_0x003*) | |
487 *(.upper_fonts.image_data_FontT42_0x004*) | |
488 *(.upper_fonts.image_data_FontT42_0x005*) | |
489 . = . + 0x420; | |
490 *(.upper_fonts.image_data_FontT42_0x006*) | |
491 *(.upper_fonts.image_data_FontT42_0x0070) | |
492 *(.upper_fonts.image_data_FontT42_0x0071) | |
493 *(.upper_fonts.image_data_FontT42_0x0072) | |
494 *(.upper_fonts.image_data_FontT42_0x0073) | |
495 *(.upper_fonts.image_data_FontT42_0x0074) | |
496 *(.upper_fonts.image_data_FontT42_0x0075) | |
497 *(.upper_fonts.image_data_FontT42_0x0076) | |
498 *(.upper_fonts.image_data_FontT42_0x0077) | |
499 *(.upper_fonts.image_data_FontT42_0x0078) | |
500 *(.upper_fonts.image_data_FontT42_0x0079) | |
501 . = . + 0x12c0; | |
502 *(.upper_fonts.image_data_FontT42_*) | |
503 *(.upper_fonts.image_data_T54addon_0x002b_PLUS*) | |
504 *(.upper_fonts.image_data_T54addon_0x0040_AT*) | |
505 *(.upper_fonts.image_data_FontT48addon*) | |
506 *(.upper_fonts.image_data_FontT24plus_0x00fb*) | |
507 *(.upper_fonts.image_data_FontT24plus_0x00fd*) | |
508 *(.upper_fonts.image_data_FontT48_*) | |
509 *(.upper_fonts.image_data_awe48_*) | |
510 | |
511 /* moving of fonts from lower to upper */ | |
512 | |
513 *(.upper_fonts.*) | |
514 | |
515 __upper_font_data_end = .; | |
516 } >UPPER | |
517 | |
518 | |
519 | |
520 .upper_directory 0x081DEF00 : { | |
521 __font_directory = .; | |
522 *(.upper_font_directory.Awe48) | |
523 *(.upper_font_directory.FontT24) | |
524 *(.upper_font_directory.FontT42) | |
525 *(.upper_font_directory.FontT48) | |
526 *(.upper_font_directory.FontT54) | |
527 *(.upper_font_directory.FontT84) | |
528 *(.upper_font_directory.FontT105) | |
529 *(.upper_font_directory.FontT144) | |
530 *(.upper_font_directory.Batt24*) | |
531 | |
532 __font_directory_end = .; | |
533 LONG( -1 ); /* Magic End Marker */ | |
534 | |
535 } >UPPER | |
536 | |
537 | |
538 | |
539 | |
540 | |
541 /* Used by the startup to initialize data */ | |
542 _sidata = LOADADDR(.data); | |
543 | |
544 /************ Initialized Data Sections into RAM & ROM Memory **************/ | |
545 .data : | |
546 { | |
547 . = ALIGN(4); | |
548 | |
549 _sdata = .; /* create a global symbol at data start */ | |
550 *(.data) /* .data sections */ | |
551 *(.data*) /* .data* sections */ | |
552 *(vtable) | |
553 | |
554 . = ALIGN(4); | |
555 _edata = .; /* define a global symbol at data end */ | |
556 } >RAM AT>ROM_BOOT | |
557 | |
558 | |
559 | |
560 /*************** Uninitialized Data Section into RAM Memory ****************/ | |
561 .bss : | |
562 { | |
563 . = ALIGN(4); | |
564 | |
565 /* This is used by the startup in order to initialize the .bss secion */ | |
566 _sbss = .; /* define a global symbol at bss start */ | |
567 __bss_start__ = _sbss; | |
568 *(.bss) | |
569 *(.bss*) | |
570 *(COMMON) | |
571 | |
572 . = ALIGN(4); | |
573 _ebss = .; /* define a global symbol at bss end */ | |
574 __bss_end__ = _ebss; | |
575 } >RAM | |
576 | |
577 /********************** User_heap_stack section ****************************/ | |
578 /* just to check that there is enough RAM left */ | |
579 ._user_heap_stack : | |
580 { | |
581 . = ALIGN(8); | |
582 PROVIDE ( end = . ); | |
583 PROVIDE ( _end = . ); | |
584 PROVIDE ( __end__ = . ); | |
585 . = . + _Min_Heap_Size; | |
586 . = . + _Min_Stack_Size; | |
587 . = ALIGN(8); | |
588 _estack = .; | |
589 } >RAM | |
590 | |
591 /* Remove information from the compiler libraries */ | |
592 /DISCARD/ : | |
593 { | |
594 libc.a ( * ) | |
595 libm.a ( * ) | |
596 libgcc.a ( * ) | |
597 } | |
598 | |
599 .ARM.attributes 0 : { *(.ARM.attributes) } | |
600 } |