Mercurial > public > ostc4
annotate BootLoader/CPU1-F429_boot.ld @ 1023:d268fc2b6052 GasConsumption
Update the hwos download documentation for the three new events
- Compass heading
- GNSS position
- Scrubber state update
| author | heinrichsweikamp |
|---|---|
| date | Sun, 13 Jul 2025 17:20:45 +0200 |
| parents | d29e752660c5 |
| children | 4ef0511c6665 |
| 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); | |
| 971 | 201 *(.text*sprint*) |
| 202 *(.text.MX*) | |
| 869 | 203 } >ROM_BOOT |
| 204 | |
| 205 | |
| 206 .text2 0x0800A100 : | |
| 207 { | |
| 208 . = ALIGN(4); | |
| 209 *(.text) /* .text sections (code) */ | |
| 210 *(.text*) /* .text* sections (code) */ | |
| 211 *(.glue_7) /* glue arm to thumb code */ | |
| 212 *(.glue_7t) /* glue thumb to arm code */ | |
| 213 *(.eh_frame) | |
| 214 . = ALIGN(4); | |
| 215 _etext = .; /* define a global symbols at end of code */ | |
| 216 } >ROM_BOOT | |
| 217 | |
| 218 | |
| 219 | |
| 220 /* Define Known Address for Each Font */ | |
| 221 /* Flash Sector 23 is protected (bootloader font + image) => use end of sector 22 */ | |
| 222 | |
| 223 .lower_fonts 0x08016000 : { | |
| 224 *(.lower_fonts.image_data_*) | |
| 225 *(.lower_fonts.*) | |
| 226 *(.upper_fonts.image_data_FontT48*) | |
| 227 *(.upper_fonts.FontT48*) | |
| 228 *(.upper_fonts.image_data_FontT24*) | |
| 229 *(.upper_fonts.FontT24*) | |
| 230 } > ROM_BOOT | |
| 231 | |
| 971 | 232 .lower_directory 0x08004300 : { |
| 869 | 233 *(.lower_font_directory*) |
| 234 *(.upper_font_directory.FontT48*) | |
| 235 *(.upper_font_directory.FontT24*) | |
| 236 } > ROM_BOOT | |
| 237 | |
| 238 | |
| 239 .lower_image 0x08009000 : { | |
| 240 *(.lower_image*) | |
| 241 | |
| 242 } > ROM_BOOT | |
| 243 | |
| 244 .lower_directory 0x08009500 : { | |
| 245 *(.lower_image_directory*) | |
| 246 } > 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 | |
| 543 /* Used by the startup to initialize data */ | |
| 544 _sidata = LOADADDR(.data); | |
| 545 | |
| 546 /************ Initialized Data Sections into RAM & ROM Memory **************/ | |
| 547 .data : | |
| 548 { | |
| 549 . = ALIGN(4); | |
| 550 | |
| 551 _sdata = .; /* create a global symbol at data start */ | |
| 552 *(.data) /* .data sections */ | |
| 553 *(.data*) /* .data* sections */ | |
| 554 *(vtable) | |
| 555 | |
| 556 . = ALIGN(4); | |
| 557 _edata = .; /* define a global symbol at data end */ | |
| 558 } >RAM AT>ROM_BOOT | |
| 559 | |
| 560 | |
| 561 | |
| 562 /*************** Uninitialized Data Section into RAM Memory ****************/ | |
| 563 .bss : | |
| 564 { | |
| 565 . = ALIGN(4); | |
| 566 | |
| 567 /* This is used by the startup in order to initialize the .bss secion */ | |
| 568 _sbss = .; /* define a global symbol at bss start */ | |
| 569 __bss_start__ = _sbss; | |
| 570 *(.bss) | |
| 571 *(.bss*) | |
| 572 *(COMMON) | |
| 573 | |
| 574 . = ALIGN(4); | |
| 575 _ebss = .; /* define a global symbol at bss end */ | |
| 576 __bss_end__ = _ebss; | |
| 577 } >RAM | |
| 578 | |
| 579 /********************** User_heap_stack section ****************************/ | |
| 580 /* just to check that there is enough RAM left */ | |
| 581 ._user_heap_stack : | |
| 582 { | |
| 583 . = ALIGN(8); | |
| 584 PROVIDE ( end = . ); | |
| 585 PROVIDE ( _end = . ); | |
| 586 PROVIDE ( __end__ = . ); | |
| 587 . = . + _Min_Heap_Size; | |
| 588 . = . + _Min_Stack_Size; | |
| 589 . = ALIGN(8); | |
| 590 _estack = .; | |
| 591 } >RAM | |
| 592 | |
| 593 /* Remove information from the compiler libraries */ | |
| 594 /DISCARD/ : | |
| 595 { | |
| 596 libc.a ( * ) | |
| 597 libm.a ( * ) | |
| 598 libgcc.a ( * ) | |
| 599 } | |
| 600 | |
| 601 .ARM.attributes 0 : { *(.ARM.attributes) } | |
| 602 } |
