I am trying to import a Makefile based Cortex-M3 project into SEGGER Embedded Studio (SEGGER Embedded Studio for ARM Release 5.10b Build 2020091601.43513).
My project compiles and links however the binary size is way too large compared to the original project. The resulting executable works but just takes too much FLASH space.
Comparing the map files I see that all symbols and contents of a certain library (ELF .a file dropped into the source tree) are linked into my binary with the SEGGER linker.
I cannot rebuild the .a file as it is supplied by a 3rd party in binary form.
I tried
- placing the .a file in the source hierarchy like a source file
- referring to the file in the linker configuration as an "additional input file"
How can I force the SEGGER linker from my solution to strip unused symbols?
"From SEGGER product manual: Eliminates all unused code and data for a minimum-size image."