# HG changeset patch # User ideenmodellierer # Date 1574787768 -3600 # Node ID 27c56f1b185630bf465770a0d555d8b1403a890c # Parent 0dbb74be972f9b4c699ad0caab1eb03163332110 Move Constants and libm to start of firmware ROM block: This changes closes a not used memory gap between the vector table and the definition of the firmware version location. As result the overall image is about ~50k smaller diff -r 0dbb74be972f -r 27c56f1b1856 Common/CPU1-F429.ld --- a/Common/CPU1-F429.ld Sun Nov 24 15:46:58 2019 +0000 +++ b/Common/CPU1-F429.ld Tue Nov 26 18:02:48 2019 +0100 @@ -98,6 +98,7 @@ SECTIONS { /******************* NVIC reset and interupt vectors **********************/ + .isr_vector 0x08040000 : { . = ALIGN(4); @@ -106,30 +107,12 @@ } >ROM - /* PROVIDE( firmware_FirmwareData = . );*/ - .firmware_FirmwareData 0x08050000 : { - KEEP( *(.firmware_firmware_data) ) - } >ROM - - .font_firmware_data 0x08132000 : { - KEEP( *(.font_firmware_data) ) - - } >UPPER - - .text 0x08054000 : + .StdLibs 0x08040200: { - . = ALIGN(4); - *(.text) /* .text sections (code) */ - *(.text*) /* .text* sections (code) */ - *(.glue_7) /* glue arm to thumb code */ - *(.glue_7t) /* glue thumb to arm code */ - *(.eh_frame) - . = ALIGN(4); - _etext = .; /* define a global symbols at end of code */ + . = ALIGN(4); + *libm.a:*(*) } >ROM - - /********************** Constant data into ROM memory *********************/ .rodata : { . = ALIGN(4); @@ -138,6 +121,9 @@ . = ALIGN(4); } >ROM + /********************** Constant data into ROM memory *********************/ + + .ARM.extab : { . = ALIGN(4); *(.ARM.extab* .gnu.linkonce.armextab.*) @@ -184,6 +170,31 @@ /************* The program code and other data into ROM memory ************/ + .firmware_FirmwareData 0x08050000 : { + KEEP( *(.firmware_firmware_data) ) + } >ROM + + .font_firmware_data 0x08132000 : { + KEEP( *(.font_firmware_data) ) + + } >UPPER + + + .text 0x08054000 : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >ROM + + + + /************* Data and Structures at absolute address in ROM *************/