This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS MSP430 GCC link fails on non MSP430X devices

Other Parts Discussed in Thread: MSP430F169, MSP430F5529

I just installed the newly released CCS6 (Version: 6.0.0.00190) with the GCC compiler (Version: 4.8.0.20140423).

When compiling an empty project (just the main.c template), I get a linker error for devices without the 20-bit X-architecture. It looks like it is only using the CRT0 binary for MSP430X devices and not the original architecture. For example when compiling for MSP430F169: (I shortened the output to make it more readable)

msp430-elf-gcc.exe -c -mmcu=msp430 -D__MSP430F169__ -I"c:/ti/ccsv6/tools/compiler/gcc_msp430_4.8.371/msp430-elf/include" -I"c:/ti/ccsv6/ccs_base/msp430/include_gcc" -Os -g -gstrict-dwarf -Wall -MMD -MP -MF"main.d" -MT"main.d" -o"main.o"  "../main.c"

msp430-elf-gcc.exe -mmcu=msp430 -D__MSP430F169__ -Os -g -gstrict-dwarf -Wall -Wl,-Map,"gcc_test_1xx.map" -o"gcc_test_1xx.out" "./main.o" -T"../msp430f169.ld"  -Wl,--start-group -l"c" -l"gcc" -Wl,--end-group
msp430-elf-ld.exe: error: ./main.o uses MSP430 instructions but .../msp430-elf/lib/crt0.o uses MSP430X
msp430-elf-ld.exe: failed to merge target specific data of file ./main.o


When I tried a device with the extended instruction set (MSP430F5529), it compiled fine.
 Other than the device selection, all the settings are untouched (this is a fresh-out-of-the-box install)