comparison Common/CPU1-F429.ld @ 73:06cfc7457c9e

Add definitions for Fonts to be placed in upper flash
author Ideenmodellierer
date Thu, 04 Oct 2018 20:40:21 +0200
parents c42c82f73c96
children a984d87a1ec0
comparison
equal deleted inserted replaced
72:63a375affb27 73:06cfc7457c9e
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 = 0x00040000 /* 256K */
52 ROM_MAIN (rx) : ORIGIN = 0x08040000, LENGTH = 0x00090000 /* 576K */ 52 ROM_MAIN (rx) : ORIGIN = 0x08040000, LENGTH = 0x00090000 /* 576K */
53 UPPER(rx) : ORIGIN = 0x08100000, LENGTH = 0x100000 /* 1024K */ 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 }
57 57
58 /* Linker file shall be shared between Bootloader, Font and Firmware projects. Not used memory areas to be cut during bin generation */ 58 /* Linker file shall be shared between Bootloader, Font and Firmware projects. Not used memory areas to be cut during bin generation */
109 /* PROVIDE( firmware_FirmwareData = . );*/ 109 /* PROVIDE( firmware_FirmwareData = . );*/
110 .firmware_FirmwareData 0x08050000 : { 110 .firmware_FirmwareData 0x08050000 : {
111 KEEP( *(.firmware_firmware_data) ) 111 KEEP( *(.firmware_firmware_data) )
112 } >ROM 112 } >ROM
113 113
114 .font_firmware_data 0x08132000 : {
115 KEEP( *(.font_firmware_data) )
116
117 } >UPPER
118
114 .text 0x08054000 : 119 .text 0x08054000 :
115 { 120 {
116 . = ALIGN(4); 121 . = ALIGN(4);
117 *(.text) /* .text sections (code) */ 122 *(.text) /* .text sections (code) */
118 *(.text*) /* .text* sections (code) */ 123 *(.text*) /* .text* sections (code) */
189 PROVIDE( bootloader_FirmwareData = . ); 194 PROVIDE( bootloader_FirmwareData = . );
190 KEEP( *(.bootloader_firmware_data) ) 195 KEEP( *(.bootloader_firmware_data) )
191 } > ROM 196 } > ROM
192 197
193 198
194 .font_firmware_data 0x08132000 : { 199 .upper_font_dir 0x081DEF00 : { /* Flash Sector 23 is protected (bootloader font + image) => use end of sector 22 */
195 PROVIDE( font_FirmwareData = . ); 200
196 KEEP( *(.font_firmware_data) ) 201 /* Define Known Address for Each Font */
197 } >UPPER 202 __font_directory = .;
203
204
205 *(.upper_font_directory.Awe48)
206 *(.upper_font_directory.FontT24)
207 *(.upper_font_directory.FontT42)
208 *(.upper_font_directory.FontT48)
209 *(.upper_font_directory.FontT54)
210 *(.upper_font_directory.FontT84)
211 *(.upper_font_directory.FontT105)
212 *(.upper_font_directory.FontT144)
213 *(.upper_font_directory.Batt24*)
214
215 __font_directory_end = .;
216 LONG( -1 ); /* Magic End Marker */
217
218 /* and for Each Image */
219 /* __image_directory = .; */
220 /* PROVIDE( ImgHWcolor = __image_directory + 0 * 8 );
221 PROVIDE( ImgOSTC = __image_directory + 1 * 8 ); */
222 /* __image_directory_end = __image_directory + 2 * 8; */
223
224 /* KEEP( *(.upper_image_directory) ) */
225
226 /* FIXME: shall KEEP images here */
227 LONG( -1 ); /* Magic End Marker */
228
229 /* and for CLUT */
230 /* PROVIDE( indexHWcolor = . ); */
231 . += 0x100;
232 LONG( -1 ); /* Magic End Marker */
233 } >UPPER
234
235
236
237
238 /* Put fonts and images in UPPER region */
239 /*
240 .upper_images : {
241 __upper_image_data = .;
242 KEEP( *(.newupper_images) )
243 __upper_image_data_end = .;
244 } > UPPER
245 */
246
198 247
199 /* TODO: the linker does not seem to work as the one of used for initial bootloader ==> Reconstruct layout to keep it compatible with the first version */ 248 /* TODO: the linker does not seem to work as the one of used for initial bootloader ==> Reconstruct layout to keep it compatible with the first version */
200 /* TODO: cleanup during next iteration */ 249 /* TODO: cleanup during next iteration */
201 250
202 /* Put fonts and images in UPPER region */ 251 /* Put fonts and images in UPPER region */
457 *(.upper_fonts.image_data_FontT42_0x0079) 506 *(.upper_fonts.image_data_FontT42_0x0079)
458 . = . + 0x12c0; 507 . = . + 0x12c0;
459 *(.upper_fonts.image_data_FontT42_*) 508 *(.upper_fonts.image_data_FontT42_*)
460 *(.upper_fonts.image_data_T54addon_0x002b_PLUS*) 509 *(.upper_fonts.image_data_T54addon_0x002b_PLUS*)
461 *(.upper_fonts.image_data_T54addon_0x0040_AT*) 510 *(.upper_fonts.image_data_T54addon_0x0040_AT*)
462 *(.upper_fonts.image_data_FontT48_*)
463 *(.upper_fonts.image_data_FontT48addon*) 511 *(.upper_fonts.image_data_FontT48addon*)
464 *(.upper_fonts.image_data_FontT24plus_0x00fb*) 512 *(.upper_fonts.image_data_FontT24plus_0x00fb*)
513 *(.upper_fonts.image_data_FontT24plus_0x00fd*)
514 *(.upper_fonts.image_data_FontT48_*)
465 *(.upper_fonts.image_data_awe48_*) 515 *(.upper_fonts.image_data_awe48_*)
516
517 /* moving of fonts from lower to upper */
466 518
467 /**(.upper_fonts*)*/ 519 *(.upper_fonts*)
520
468 __upper_font_data_end = .; 521 __upper_font_data_end = .;
469 } >UPPER 522 } >UPPER
470 523
471 /* Put fonts and images in UPPER region */
472 /*
473 .upper_images : {
474 __upper_image_data = .;
475 KEEP( *(.upper_images) )
476 __upper_image_data_end = .;
477 } >ROM UPPER */
478 524
479 525
480 .upper_font_directory /*0x081E0000*/ : { /* Last 128 KBytes of UPPER ROM */ 526
481 527
482 /* Define Known Address for Each Font */
483 __font_directory = .;
484 /* PROVIDE( Awe48 = __font_directory + 0 * 0xc );
485 PROVIDE( FontT24 = __font_directory + 1 * 0xc );
486 PROVIDE( FontT42 = __font_directory + 2 * 0xc );
487 PROVIDE( FontT48 = __font_directory + 3 * 0xc );
488 PROVIDE( FontT54 = __font_directory + 4 * 0xc );
489 PROVIDE( FontT84 = __font_directory + 5 * 0xc );
490 PROVIDE( FontT105 = __font_directory + 6 * 0xc );
491 PROVIDE( FontT144 = __font_directory + 7 * 0xc );
492 PROVIDE( Batt24 = __font_directory + 8 * 0xc ); */
493 __font_directory_end = __font_directory + 9 * 0xc;
494
495 *(.upper_font_directory)
496 __font_directory_end = .;
497 LONG( -1 ); /* Magic End Marker */
498
499 /* and for Each Image */
500 /* __image_directory = .; */
501 /* PROVIDE( ImgHWcolor = __image_directory + 0 * 8 );
502 PROVIDE( ImgOSTC = __image_directory + 1 * 8 ); */
503 /* __image_directory_end = __image_directory + 2 * 8; */
504
505 /* KEEP( *(.upper_image_directory) ) */
506
507 /* FIXME: shall KEEP images here */
508 LONG( -1 ); /* Magic End Marker */
509
510 /* and for CLUT */
511 /* PROVIDE( indexHWcolor = . ); */
512 . += 0x400;
513 LONG( -1 ); /* Magic End Marker */
514 } >ROM /*UPPER*/
515 528
516 529
517 /* Used by the startup to initialize data */ 530 /* Used by the startup to initialize data */
518 _sidata = LOADADDR(.data); 531 _sidata = LOADADDR(.data);
519 532