Mercurial > public > ostc4
changeset 391:27c56f1b1856 ImproveBluetooth
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
author | ideenmodellierer |
---|---|
date | Tue, 26 Nov 2019 18:02:48 +0100 |
parents | 0dbb74be972f |
children | b57f497726f7 |
files | Common/CPU1-F429.ld |
diffstat | 1 files changed, 32 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- 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 *************/