Part Number:MSP430F5419A
Tool/software: Code Composer Studio
I have an application that is using the large model library: rts430x_lc_ld_eabi.lib running on a MSP430F5419A using FreeRTOS
I am trying to optimise memory usage and want to get an accurate feel for where memory is being consumed.
The heap size was initially set, within CCS LinkerBasic Settings, to 13000. However I can reduce this value to 11000 without any ill effects. Below this failures occur.
The .map and link_info.xml files are being generated however neither file is giving enough information to understand why reducing the Heap-size is causing memory exhaustion below 11000
I see that the .sysmem segment is being set to 11000 (0x2af0) from the following section generated in the .map file below. How can I find out what is using this area of memory.
.sysmem 0 00001c00 00002af8 UNINITIALIZED
00001c00 00000008 rts430x_lc_ld_eabi.lib : memory.c.obj (.sysmem)
00001c08 00002af0 --HOLE--
From the information above the .sysmem segment starts at 0x1c00 and finishes at 0x46F8 (adding 0x2af0 to 0x1c00)
Other lines within the .map file make reference to rts430x_lc_ld_eabi.lib in the attributes/input sections column. However the Origin address of these lines is outside the range 0x1c00 - 0x46F8
How can I determine what is using the .sysmem segment?