I upgraded my Code Composer Studio (CCS) to 5.2.1 a few days ago. An interesting thing I found out was that while building existing Lauchpad projects, I was receiving a “program will not fit into available memory” error:
“../lnk_msp430g2231.cmd”, line 60: error #10099-D: program will not fit into available memory. placement with alignment fails for section “.text” size 0x11cc . Available memory ranges:
FLASH size: 0x7e0 unused: 0x7e0 max hole: 0x7e0
According to a couple of discussions on TI’s forum, it seemed that it had something to do with the version of the ARM compiler. So I installed an older version of the compiler as suggested. But I still got the same error message. So clearly, this error had nothing to do with the compiler version.
After combing through MSP430 Optimizing C/C++ Compiler User Guide I realized that the error was caused by the usage of EABI (see section 5 on Application Binary Interface). In CCS 5.2.1 the setting somehow was defaulted to EABI, whereas in previous versions the application binary interface was defaulted to COFFABI. This setting can be found under project properties:
You can also change the desired ABI during when you first create your project:
By changing the application binary interface setting back to COFFABI, the error was gone! Anyway, in case you encounter the same issue the solution is just a selection away.