comparison BootLoader/CPU1-F429_boot.ld @ 1048:493a5903ec20 GasConsumption

Merge with 9d9d506a82d3162b6b2323819cc08652887d7dd4 (Bootloader)
author Ideenmodellierer
date Sat, 15 Nov 2025 19:29:44 +0100
parents 0dd92e9b70a2
children
comparison
equal deleted inserted replaced
1047:6fb16ca39125 1048:493a5903ec20
46 46
47 /****************************************************************************/ 47 /****************************************************************************/
48 /***************************** Memory Definition ****************************/ 48 /***************************** Memory Definition ****************************/
49 MEMORY 49 MEMORY
50 { 50 {
51 ROM_BOOT (rx) : ORIGIN = 0x08000000, LENGTH = 0x00040000 /* 256K */ 51 ROM_BOOT (rx) : ORIGIN = 0x08000000, LENGTH = 0x00020000 /* 128K */
52 ROM (rx) : ORIGIN = 0x08040000, LENGTH = 0x00090000 /* 576K */ 52 ROM (rx) : ORIGIN = 0x08040000, LENGTH = 0x00090000 /* 576K */
53 UPPER(rx) : ORIGIN = 0x08132000, LENGTH = 0xAE270 /* 713K */ 53 UPPER(rx) : ORIGIN = 0x08132000, LENGTH = 0xAE270 /* 713K */
54 RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 192K 54 RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 192K
55 CCRAM (rwx) : ORIGIN = 0x10000000, LENGTH = 64K 55 CCRAM (rwx) : ORIGIN = 0x10000000, LENGTH = 64K
56 } 56 }
111 { 111 {
112 . = ALIGN(4); 112 . = ALIGN(4);
113 *libm.a:*(*) 113 *libm.a:*(*)
114 } >ROM_BOOT 114 } >ROM_BOOT
115 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 116
124 /********************** Constant data into ROM memory *********************/ 117 /********************** Constant data into ROM memory *********************/
125 118
126 119
127 .ARM.extab : { 120 .ARM.extab : {
167 . = ALIGN(4); 160 . = ALIGN(4);
168 } >ROM_BOOT 161 } >ROM_BOOT
169 162
170 /************* The program code and other data into ROM memory ************/ 163 /************* The program code and other data into ROM memory ************/
171 164
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 165
183 /************* Data and Structures at absolute address in ROM *************/ 166 /************* Data and Structures at absolute address in ROM *************/
184 167
185 /* FIXME: this sets the SFirmwareData structure, not the code ... */ 168 /* FIXME: this sets the SFirmwareData structure, not the code ... */
186 .bootloader_firmware_data 0x0800A000 : { 169 .bootloader_firmware_data 0x0800A000 : {
213 *(.eh_frame) 196 *(.eh_frame)
214 . = ALIGN(4); 197 . = ALIGN(4);
215 _etext = .; /* define a global symbols at end of code */ 198 _etext = .; /* define a global symbols at end of code */
216 } >ROM_BOOT 199 } >ROM_BOOT
217 200
218 201 .rodata :
202 {
203 . = ALIGN(4);
204 *(.rodata) /* .rodata sections (constants, strings, etc.) */
205 *(.rodata*) /* .rodata* sections (constants, strings, etc.) */
206 . = ALIGN(4);
207 } >ROM_BOOT
219 208
220 /* Define Known Address for Each Font */ 209 /* Define Known Address for Each Font */
221 /* Flash Sector 23 is protected (bootloader font + image) => use end of sector 22 */ 210 /* Flash Sector 23 is protected (bootloader font + image) => use end of sector 22 */
222 211
223 .lower_fonts 0x08016000 : { 212 .lower_fonts 0x0801F000 : {
224 *(.lower_fonts.image_data_*) 213 *(.lower_fonts.image_data_*)
225 *(.lower_fonts.*) 214 *(.lower_fonts.*)
226 *(.upper_fonts.image_data_FontT48*) 215 *(.upper_fonts.image_data_FontT48*)
227 *(.upper_fonts.FontT48*) 216 *(.upper_fonts.FontT48*)
228 *(.upper_fonts.image_data_FontT24*) 217 *(.upper_fonts.image_data_FontT24*)
233 *(.lower_font_directory*) 222 *(.lower_font_directory*)
234 *(.upper_font_directory.FontT48*) 223 *(.upper_font_directory.FontT48*)
235 *(.upper_font_directory.FontT24*) 224 *(.upper_font_directory.FontT24*)
236 } > ROM_BOOT 225 } > ROM_BOOT
237 226
238
239 .lower_image 0x08009000 : { 227 .lower_image 0x08009000 : {
240 *(.lower_image*) 228 *(.lower_image*)
241 229
242 } > ROM_BOOT 230 } > ROM_BOOT
243 231
244 .lower_directory 0x08009500 : { 232 .lower_directory 0x08009500 : {
245 *(.lower_image_directory*) 233 *(.lower_image_directory*)
246 } > ROM_BOOT 234 } > ROM_BOOT
247
248 .upper_fonts 0x08132040 : {
249 __upper_font_data = .;
250 . = 0x13E;
251 *(.upper_fonts.image_data_FontT144_0x0030)
252 . = 0x02515;
253 *(.upper_fonts.image_data_FontT144_0x0031)
254 . = 0x03469;
255 *(.upper_fonts.image_data_FontT144_0x0032)
256 . = 0x4FDC;
257 *(.upper_fonts.image_data_FontT144_0x0033)
258 . = 0x6862;
259 *(.upper_fonts.image_data_FontT144_0x0034)
260 . = 0x86C2;
261 *(.upper_fonts.image_data_FontT144_0x0035)
262 . = 0x9FB3;
263 *(.upper_fonts.image_data_FontT144_0x0036)
264 . = 0xBB26;
265 *(.upper_fonts.image_data_FontT144_0x0037)
266 . = 0xD845;
267 *(.upper_fonts.image_data_FontT144_0x0038)
268 . = 0xF34D;
269 *(.upper_fonts.image_data_FontT144_0x0039)
270 . = 0x10EC0;
271 *(.upper_fonts.image_data_FontT24_0x0020)
272 *(.upper_fonts.image_data_FontT24_0x0021)
273 *(.upper_fonts.image_data_FontT24_0x0022)
274 *(.upper_fonts.image_data_FontT24_0x0023)
275 *(.upper_fonts.image_data_FontT24_0x0024)
276 *(.upper_fonts.image_data_FontT24_0x0025)
277 *(.upper_fonts.image_data_FontT24_0x0026)
278 *(.upper_fonts.image_data_FontT24_0x0027)
279 *(.upper_fonts.image_data_FontT24_0x0028)
280 *(.upper_fonts.image_data_FontT24_0x0029)
281 *(.upper_fonts.image_data_FontT24_0x002a)
282 *(.upper_fonts.image_data_FontT24_0x003f)
283 *(.upper_fonts.image_data_FontT24_0x002c)
284 *(.upper_fonts.image_data_FontT24_0x002d)
285 *(.upper_fonts.image_data_FontT24_0x002e)
286 *(.upper_fonts.image_data_FontT24_0x002f)
287 *(.upper_fonts.image_data_FontT24_0x0030)
288 *(.upper_fonts.image_data_FontT24_0x0031)
289 *(.upper_fonts.image_data_FontT24_0x0032)
290 *(.upper_fonts.image_data_FontT24_0x0033)
291 *(.upper_fonts.image_data_FontT24_0x0034)
292 *(.upper_fonts.image_data_FontT24_0x0035)
293 *(.upper_fonts.image_data_FontT24_0x0036)
294 *(.upper_fonts.image_data_FontT24_0x0037)
295 *(.upper_fonts.image_data_FontT24_0x0038)
296 *(.upper_fonts.image_data_FontT24_0x0039)
297 *(.upper_fonts.image_data_FontT24_0x003a)
298 *(.upper_fonts.image_data_FontT24_0x003b)
299 *(.upper_fonts.image_data_FontT24_0x003c)
300 *(.upper_fonts.image_data_FontT24_0x003d)
301 *(.upper_fonts.image_data_FontT24_0x003e)
302 . = . + 0x8c;
303 *(.upper_fonts.image_data_FontT24_0x0040)
304 *(.upper_fonts.image_data_FontT24_0x0041)
305 *(.upper_fonts.image_data_FontT24_0x0042)
306 *(.upper_fonts.image_data_FontT24_0x0043)
307 *(.upper_fonts.image_data_FontT24_0x0044)
308 *(.upper_fonts.image_data_FontT24_0x0045)
309 *(.upper_fonts.image_data_FontT24_0x0046)
310 *(.upper_fonts.image_data_FontT24_0x0047)
311 *(.upper_fonts.image_data_FontT24_0x0048)
312 *(.upper_fonts.image_data_FontT24_0x0049)
313 *(.upper_fonts.image_data_FontT24_0x004a)
314 *(.upper_fonts.image_data_FontT24_0x004b)
315 *(.upper_fonts.image_data_FontT24_0x004c)
316 *(.upper_fonts.image_data_FontT24_0x004d)
317 *(.upper_fonts.image_data_FontT24_0x004e)
318 *(.upper_fonts.image_data_FontT24_0x004f)
319 *(.upper_fonts.image_data_FontT24_0x0050)
320 *(.upper_fonts.image_data_FontT24_0x0051)
321 *(.upper_fonts.image_data_FontT24_0x0052)
322 *(.upper_fonts.image_data_FontT24_0x0053)
323 *(.upper_fonts.image_data_FontT24_0x0054)
324 *(.upper_fonts.image_data_FontT24_0x0055)
325 *(.upper_fonts.image_data_FontT24_0x0056)
326 *(.upper_fonts.image_data_FontT24_0x0057)
327 *(.upper_fonts.image_data_FontT24_0x0058)
328 *(.upper_fonts.image_data_FontT24_0x0059)
329 *(.upper_fonts.image_data_FontT24_0x005a)
330 *(.upper_fonts.image_data_FontT24_0x005b)
331 *(.upper_fonts.image_data_FontT24_0x005c)
332 *(.upper_fonts.image_data_FontT24_0x005d)
333 *(.upper_fonts.image_data_FontT24_0x005e)
334 *(.upper_fonts.image_data_FontT24_0x005f)
335 *(.upper_fonts.image_data_FontT24_0x0060)
336 *(.upper_fonts.image_data_FontT24_0x0061)
337 *(.upper_fonts.image_data_FontT24_0x0062)
338 *(.upper_fonts.image_data_FontT24_0x0063)
339 . = . + 0x1c;
340 *(.upper_fonts.image_data_FontT24_0x0064)
341 *(.upper_fonts.image_data_FontT24_0x0065)
342 *(.upper_fonts.image_data_FontT24_0x0066)
343 *(.upper_fonts.image_data_FontT24_0x0067)
344 *(.upper_fonts.image_data_FontT24_0x0068)
345 *(.upper_fonts.image_data_FontT24_0x0069)
346 *(.upper_fonts.image_data_FontT24_0x006a)
347 *(.upper_fonts.image_data_FontT24_0x006b)
348 *(.upper_fonts.image_data_FontT24_0x006c)
349 *(.upper_fonts.image_data_FontT24_0x006d)
350 *(.upper_fonts.image_data_FontT24_0x006e)
351 *(.upper_fonts.image_data_FontT24_0x006f)
352 *(.upper_fonts.image_data_FontT24_0x0070)
353 *(.upper_fonts.image_data_FontT24_0x0071)
354 *(.upper_fonts.image_data_FontT24_0x0072)
355 *(.upper_fonts.image_data_FontT24_0x0073)
356 *(.upper_fonts.image_data_FontT24_0x0074)
357 *(.upper_fonts.image_data_FontT24_0x0075)
358 *(.upper_fonts.image_data_FontT24_0x0076)
359 *(.upper_fonts.image_data_FontT24_0x0077)
360 *(.upper_fonts.image_data_FontT24_0x0078)
361 *(.upper_fonts.image_data_FontT24_0x0079)
362 *(.upper_fonts.image_data_FontT24_0x007a)
363 *(.upper_fonts.image_data_FontT24_0x007b)
364 *(.upper_fonts.image_data_FontT24_0x007c)
365 . = . + 0x1c;
366 *(.upper_fonts.image_data_FontT24_0x007d)
367 *(.upper_fonts.image_data_FontT24_0x007e)
368 *(.upper_fonts.image_data_FontT24_0x00a1)
369 *(.upper_fonts.image_data_FontT24_0x00bf)
370 *(.upper_fonts.image_data_FontT24_0x00c1)
371 *(.upper_fonts.image_data_FontT24_0x00c4)
372 *(.upper_fonts.image_data_FontT24_0x00c6)
373 *(.upper_fonts.image_data_FontT24_0x00c7)
374 *(.upper_fonts.image_data_FontT24_0x00c9)
375 *(.upper_fonts.image_data_FontT24_0x00cd)
376 *(.upper_fonts.image_data_FontT24_0x00d1)
377 *(.upper_fonts.image_data_FontT24_0x00d3)
378 *(.upper_fonts.image_data_FontT24_0x00d6)
379 *(.upper_fonts.image_data_FontT24_0x00da)
380 *(.upper_fonts.image_data_FontT24_0x00dc)
381 *(.upper_fonts.image_data_FontT24_0x00df)
382 *(.upper_fonts.image_data_FontT24_0x00e0)
383 *(.upper_fonts.image_data_FontT24_0x00e1)
384 *(.upper_fonts.image_data_FontT24_0x00e2)
385 *(.upper_fonts.image_data_FontT24_0x00e4)
386 *(.upper_fonts.image_data_FontT24_0x00e6)
387 *(.upper_fonts.image_data_FontT24_0x00e7)
388 *(.upper_fonts.image_data_FontT24_0x00e8)
389 *(.upper_fonts.image_data_FontT24_0x00e9)
390 *(.upper_fonts.image_data_FontT24_0x00ec)
391 *(.upper_fonts.image_data_FontT24_0x00ed)
392 *(.upper_fonts.image_data_FontT24_0x00f0)
393 *(.upper_fonts.image_data_FontT24_0x00f1)
394 *(.upper_fonts.image_data_FontT24_0x00f2)
395 *(.upper_fonts.image_data_FontT24_0x00f3)
396 *(.upper_fonts.image_data_FontT24_0x00f6)
397 *(.upper_fonts.image_data_FontT24_0x00f9)
398 *(.upper_fonts.image_data_FontT24_0x00fa)
399 *(.upper_fonts.image_data_FontT24_0x00fc)
400 *(.upper_fonts.image_data_FontT24_0x00ff)
401 *(.upper_fonts.image_data_FontT24_0x0152)
402 *(.upper_fonts.image_data_FontT24_0x0153)
403 *(.upper_fonts.image_data_FontT24_0x0178)
404 *(.upper_fonts.image_data_FontT24_0x002b)
405 . = . + 0x1d642;
406 *(.upper_images.image_data_ostc_fuer_Tauchcomputer_240px)
407 *(.upper_fonts.image_data_FontT84_0x002e)
408 . = . + 0x9f;
409 *(.upper_fonts.image_data_FontT84_0x0030)
410 . = . + 0x0d;
411 *(.upper_fonts.image_data_FontT84_0x0031)
412 . = . + 0xaa;
413 *(.upper_fonts.image_data_FontT84_0x0032)
414 . = . + 0x7b;
415 *(.upper_fonts.image_data_FontT84_0x0033)
416 . = . + 0x38;
417 *(.upper_fonts.image_data_FontT84_0x0034)
418 . = . + 0x7f;
419 *(.upper_fonts.image_data_FontT84_0x0035)
420 . = . + 0x77;
421 *(.upper_fonts.image_data_FontT84_0x0036)
422 . = . + 0x7b;
423 *(.upper_fonts.image_data_FontT84_0x0037)
424 . = . + 0x0d;
425 *(.upper_fonts.image_data_FontT84_0x0038)
426 . = . + 0x2b;
427 *(.upper_fonts.image_data_FontT84_0x0039)
428 . = . + 0xe8;
429 *(.upper_fonts.image_data_FontT54_0x0022)
430 *(.upper_fonts.image_data_FontT54_0x0025)
431 . = . + 0x112;
432 *(.upper_fonts.image_data_FontT54_0x0027)
433 . = . + 0xd8;
434 *(.upper_fonts.image_data_FontT54_0x002a)
435 . = . + 0x133;
436 *(.upper_fonts.image_data_FontT54_0x002d)
437 . = . + 0x1d7;
438 *(.upper_fonts.image_data_FontT54_0x002e)
439 . = . + 0x17b;
440 *(.upper_fonts.image_data_FontT54_0x002f)
441 . = . + 0x02;
442 *(.upper_fonts.image_data_FontT54_0x0030)
443 . = . + 0x0ba;
444 *(.upper_fonts.image_data_FontT54_0x0031)
445 . = . + 0x27d;
446 *(.upper_fonts.image_data_FontT54_0x0032)
447 . = . + 0xe3;
448 *(.upper_fonts.image_data_FontT54_0x0033)
449 . = . + 0x35;
450 *(.upper_fonts.image_data_FontT54_0x0034)
451 . = . + 0x68;
452 *(.upper_fonts.image_data_FontT54_0x0035)
453 . = . + 0x35;
454 *(.upper_fonts.image_data_FontT54_0x0036)
455 . = . + 0xba;
456 *(.upper_fonts.image_data_FontT54_0x0037)
457 . = . + 0x191;
458 *(.upper_fonts.image_data_FontT54_0x0038)
459 . = . + 0xe3;
460 *(.upper_fonts.image_data_FontT54_0x0039)
461 . = . + 0xe3;
462 *(.upper_fonts.image_data_FontT54_0x003a)
463 . = . + 0x7b;
464 *(.upper_fonts.image_data_FontT54_0x0043)
465 . = . + 0x3b;
466 *(.upper_fonts.image_data_FontT54_0x006c)
467 . = . + 0x2d;
468 *(.upper_fonts.image_data_FontT54_0x006d)
469 . = . + 0x94;
470 *(.upper_fonts.image_data_FontT54_0x00ba)
471 . = . + 0x0a;
472
473 *(.upper_fonts.image_data_FontT105_0x002*)
474 *(.upper_fonts.image_data_FontT105_0x003*)
475 *(.upper_fonts.image_data_FontT105_0x0043)
476 . = . + 0x17c8;
477 *(.upper_fonts.image_data_FontT105_0x007c)
478 *(.upper_fonts.image_data_FontT105_0x00ba)
479 *(.upper_fonts.image_data_FontT105_54_0x006d)
480
481 *(.upper_fonts.image_data_FontT54_0x0068)
482 . = . + 0x1195;
483
484 *(.upper_fonts.image_data_FontT42_0x00b0)
485 *(.upper_fonts.image_data_FontT42_0x0020)
486 . = . + 0x23;
487 *(.upper_fonts.image_data_FontT42_0x002*)
488 *(.upper_fonts.image_data_FontT42_0x003*)
489 *(.upper_fonts.image_data_FontT42_0x004*)
490 *(.upper_fonts.image_data_FontT42_0x005*)
491 . = . + 0x420;
492 *(.upper_fonts.image_data_FontT42_0x006*)
493 *(.upper_fonts.image_data_FontT42_0x0070)
494 *(.upper_fonts.image_data_FontT42_0x0071)
495 *(.upper_fonts.image_data_FontT42_0x0072)
496 *(.upper_fonts.image_data_FontT42_0x0073)
497 *(.upper_fonts.image_data_FontT42_0x0074)
498 *(.upper_fonts.image_data_FontT42_0x0075)
499 *(.upper_fonts.image_data_FontT42_0x0076)
500 *(.upper_fonts.image_data_FontT42_0x0077)
501 *(.upper_fonts.image_data_FontT42_0x0078)
502 *(.upper_fonts.image_data_FontT42_0x0079)
503 . = . + 0x12c0;
504 *(.upper_fonts.image_data_FontT42_*)
505 *(.upper_fonts.image_data_T54addon_0x002b_PLUS*)
506 *(.upper_fonts.image_data_T54addon_0x0040_AT*)
507 *(.upper_fonts.image_data_FontT48addon*)
508 *(.upper_fonts.image_data_FontT24plus_0x00fb*)
509 *(.upper_fonts.image_data_FontT24plus_0x00fd*)
510 *(.upper_fonts.image_data_FontT48_*)
511 *(.upper_fonts.image_data_awe48_*)
512
513 /* moving of fonts from lower to upper */
514
515 *(.upper_fonts.*)
516
517 __upper_font_data_end = .;
518 } >UPPER
519
520
521
522 .upper_directory 0x081DEF00 : {
523 __font_directory = .;
524 *(.upper_font_directory.Awe48)
525 *(.upper_font_directory.FontT24)
526 *(.upper_font_directory.FontT42)
527 *(.upper_font_directory.FontT48)
528 *(.upper_font_directory.FontT54)
529 *(.upper_font_directory.FontT84)
530 *(.upper_font_directory.FontT105)
531 *(.upper_font_directory.FontT144)
532 *(.upper_font_directory.Batt24*)
533
534 __font_directory_end = .;
535 LONG( -1 ); /* Magic End Marker */
536
537 } >UPPER
538
539
540
541
542 235
543 /* Used by the startup to initialize data */ 236 /* Used by the startup to initialize data */
544 _sidata = LOADADDR(.data); 237 _sidata = LOADADDR(.data);
545 238
546 /************ Initialized Data Sections into RAM & ROM Memory **************/ 239 /************ Initialized Data Sections into RAM & ROM Memory **************/