comparison BootLoader/CPU1-F429_boot.ld @ 1016:0dd92e9b70a2 BootloaderOstc5

Bootloader use compressed fonts: The previous Bootloader was larger than 128k => not fitting into the first sectors of the second flash bank. Most memory is occupied by the two fonts in use. In order to make the bootloader small enough for the bootloader update function the fonts need to be compressed. To avoid code changes in visualization functions the compressed fonts are decompressed into RAM and then used in the same way as before.
author Ideenmodellierer
date Wed, 28 May 2025 17:20:44 +0200
parents 4ef0511c6665
children
comparison
equal deleted inserted replaced
1015:4ef0511c6665 1016:0dd92e9b70a2
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 : {
203 *(.eh_frame) 196 *(.eh_frame)
204 . = ALIGN(4); 197 . = ALIGN(4);
205 _etext = .; /* define a global symbols at end of code */ 198 _etext = .; /* define a global symbols at end of code */
206 } >ROM_BOOT 199 } >ROM_BOOT
207 200
208 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
209 208
210 /* Define Known Address for Each Font */ 209 /* Define Known Address for Each Font */
211 /* 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 */
212 211
213 .lower_fonts 0x08016000 : { 212 .lower_fonts 0x0801F000 : {
214 *(.lower_fonts.image_data_*) 213 *(.lower_fonts.image_data_*)
215 *(.lower_fonts.*) 214 *(.lower_fonts.*)
216 *(.upper_fonts.image_data_FontT48*) 215 *(.upper_fonts.image_data_FontT48*)
217 *(.upper_fonts.FontT48*) 216 *(.upper_fonts.FontT48*)
218 *(.upper_fonts.image_data_FontT24*) 217 *(.upper_fonts.image_data_FontT24*)