I'm having a lot of trouble understanding how CCSv6 and the TI C Compiler are estimating RAM use. I'm using the MSP430i2020 and my project is fairly straightforward when it comes to RAM usage, by which I mean that I'm not using malloc() or creating new objects at any time. (The MSP430i2020 has 1024 bytes of RAM in the address range 0x200 to 0x599.)
Here's the Console message I get after a build:
MSP430: Loading complete. There were 3005 (code) and 58 (data) bytes written to FLASH/FRAM. The expected RAM usage is 1023 (uninitialized data + stack) bytes.
That looks pretty tight on RAM! But here's the top of the MEMORY CONFIGURATION table in the .map file. It seems to say I have 200h = 518 unused bytes in RAM:
Below is a spreadsheet I made from the section of the .map file showing global variables which is where all my transient application data is kept. It shows that with an 80 byte stack, I have 518 bytes unused byes of RAM. So what's up? What does that message say from the build?!
Thanks!
Leo