Hi, MCUXpresso Expert
When I'm using MCUXpresso (LPCXpresso, or KDS) and trying to analyze & optimize memory footprint, I feel it is very inconvenient to use the .map file generated by gcc. Both IAR and KEIL linker gives a summary by files and libs, I can clearly know which files used most of the memory, so I can further look into the code.
Is it possible for MCUXpresso IDE to provide a tool to summarize such a table from .map? Or equivalent (or better, e.g. graphic) way is also welcome. Thanks.
IAR
KEIL
The MCUXpresso IDE has the 'Symbol Viewer' for this, see Listing Code and Data Size with GNU nm in Eclipse | MCU on Eclipse . Other than that, you can use the GNU nm or size utility (see as well above article).
I hope this helps,
Erich
Hi, Erich
Thanks for your help.
It looks like 'Symbol Viewer' can't provide the information I want (list real text/data/bss by files). The article "Listing Code and Data Size for each Source File with GNU and Eclipse" uses arm-none-eabi-size utility can get useful information (the numbers shows are after linker strip, right?). But I need specify very single .o files in command line which spread in different depth of file systems.
Is there a more efficient way to do this in MCUXpresso IDE?
If you run 'size' or 'nm' on an object file, then it shows the information *before* the link phase. So it does not count in removed functions/data.
But if you run it on the linker output file (.axf/.elf), then it shows what ends up in the binary, and the removed functions/objects are not counted.
I hope this helps,
Erich
Hi, Erich
Then 'size' or 'nm' does not help much, running them on axf/elf will get section details for each file.
Both IAR and KEIL's information provided in summary table are after linker strip.
May be the only way is to count symbols in .map and sort a list?