Other Parts Discussed in Thread: MSP430FR6989
The following example
//test.hpp
class test {
public:
static constexpr unsigned max_count = 16;
inline test() noexcept {
add(this);
}
static inline unsigned get_count() noexcept {
return count;
}
protected:
static void add(test*) noexcept;
static test* tests[max_count];
static unsigned count;
};
//test.cpp
#include "test.hpp"
test t1, t2, t3, t4, t5;
//main.cpp (fragment)
test* test::tests[test::max_count];
unsigned test::count = 0;
void test::add(test* t) {
if( count >= max_count ) return;
tests[count++] = t;
}
works as expected when build with msp430-elf-gcc 4.9.1 using options
-mlarge -mcode-region=none -mdata-region=none
however, when options are set to
-mlarge -mcode-region=lower -mdata-region=upper
test.count contains FF instead of expected 05.
Verbose build log is attached
/opt/ti/ccsv6/utils/bin/gmake -k all Building file: ../main.cpp Invoking: GNU Compiler "/opt/ti/gcc/bin/msp430-elf-gcc" -c -std=c++1y -mmcu=msp430fr6989 -fno-exceptions -I"/opt/ti/gcc/msp430-elf/include" -I"/opt/ti/ccsv6/ccs_base/msp430/include_gcc" -O3 -Os -Wall -v -mlarge -mcode-region=none -mdata-region=none -MMD -MP -MF"main.d" -MT"main.d" -fno-rtti -o"main.o" "../main.cpp" Using built-in specs. COLLECT_GCC=/opt/ti/gcc/bin/msp430-elf-gcc Target: msp430-elf Configured with: /opt/redhat/msp430-14r1-364/sources/tools/configure --host=i686-redhat-linux --build=i686-redhat-linux --target=msp430-elf --prefix=/opt/redhat/msp430-14r1-364/i686-redhat-linux --enable-languages=c,c++ Thread model: single gcc version 4.9.1 20140707 (prerelease (msp430-14r1-364)) (GNUPro 14r1) (Based on: GCC 4.8 GDB 7.7 Binutils 2.24 Newlib 2.1) (GCC) COLLECT_GCC_OPTIONS='-c' '-std=c++1y' '-mmcu=msp430fr6989' '-fno-exceptions' '-I' '/opt/ti/gcc/msp430-elf/include' '-I' '/opt/ti/ccsv6/ccs_base/msp430/include_gcc' '-O3' '-Os' '-Wall' '-v' '-mlarge' '-mcode-region=none' '-mdata-region=none' '-MMD' '-MP' '-MF' 'main.d' '-MT' 'main.d' '-fno-rtti' '-o' 'main.o' /opt/ti/gcc/bin/../libexec/gcc/msp430-elf/4.9.1/cc1plus -quiet -v -I /opt/ti/gcc/msp430-elf/include -I /opt/ti/ccsv6/ccs_base/msp430/include_gcc -imultilib large -iprefix /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/ -MMD main.d -MF main.d -MP -MT main.d ../main.cpp -quiet -dumpbase main.cpp -mmcu=msp430fr6989 -mlarge -mcode-region=none -mdata-region=none -auxbase-strip main.o -O3 -Os -Wall -std=c++1y -version -fno-exceptions -fno-rtti -o /tmp/ccAmTYji.s GNU C++ (GCC) version 4.9.1 20140707 (prerelease (msp430-14r1-364)) (GNUPro 14r1) (Based on: GCC 4.8 GDB 7.7 Binutils 2.24 Newlib 2.1) (msp430-elf) compiled by GNU C version 4.1.2 20080704 (Red Hat 4.1.2-55), GMP version 5.0.1, MPFR version 3.1.0, MPC version 0.9 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/sys-include" ignoring duplicate directory "/opt/ti/gcc/bin/../lib/gcc/../../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include/c++/4.9.1" ignoring duplicate directory "/opt/ti/gcc/bin/../lib/gcc/../../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include/c++/4.9.1/msp430-elf/large" ignoring duplicate directory "/opt/ti/gcc/bin/../lib/gcc/../../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include/c++/4.9.1/backward" ignoring duplicate directory "/opt/ti/gcc/bin/../lib/gcc/../../lib/gcc/msp430-elf/4.9.1/include" ignoring duplicate directory "/opt/ti/gcc/bin/../lib/gcc/../../lib/gcc/msp430-elf/4.9.1/include-fixed" ignoring nonexistent directory "/opt/ti/gcc/bin/../lib/gcc/../../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/sys-include" ignoring duplicate directory "/opt/ti/gcc/bin/../lib/gcc/../../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include" ignoring duplicate directory "/opt/ti/gcc/msp430-elf/include" as it is a non-system directory that duplicates a system directory #include "..." search starts here: #include <...> search starts here: /opt/ti/ccsv6/ccs_base/msp430/include_gcc /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include/c++/4.9.1 /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include/c++/4.9.1/msp430-elf/large /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include/c++/4.9.1/backward /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/include /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/include-fixed /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include End of search list. GNU C++ (GCC) version 4.9.1 20140707 (prerelease (msp430-14r1-364)) (GNUPro 14r1) (Based on: GCC 4.8 GDB 7.7 Binutils 2.24 Newlib 2.1) (msp430-elf) compiled by GNU C version 4.1.2 20080704 (Red Hat 4.1.2-55), GMP version 5.0.1, MPFR version 3.1.0, MPC version 0.9 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 1a1fed4172c6cd7daa4ff072f27c6f2a COLLECT_GCC_OPTIONS='-c' '-std=c++1y' '-mmcu=msp430fr6989' '-fno-exceptions' '-I' '/opt/ti/gcc/msp430-elf/include' '-I' '/opt/ti/ccsv6/ccs_base/msp430/include_gcc' '-O3' '-Os' '-Wall' '-v' '-mlarge' '-mcode-region=none' '-mdata-region=none' '-MMD' '-MP' '-MF' 'main.d' '-MT' 'main.d' '-fno-rtti' '-o' 'main.o' /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/bin/as -v -I /opt/ti/gcc/msp430-elf/include -I /opt/ti/ccsv6/ccs_base/msp430/include_gcc -mP -mmcu=msp430fr6989 -ml -md -o main.o /tmp/ccAmTYji.s GNU assembler version 2.24.51 (msp430-elf) using BFD version (GNU Binutils) 2.24.51.20140505 COMPILER_PATH=/opt/ti/gcc/bin/../libexec/gcc/msp430-elf/4.9.1/:/opt/ti/gcc/bin/../libexec/gcc/:/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/bin/ LIBRARY_PATH=/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/large/:/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/lib/large/:/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/:/opt/ti/gcc/bin/../lib/gcc/:/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/lib/ COLLECT_GCC_OPTIONS='-c' '-std=c++1y' '-mmcu=msp430fr6989' '-fno-exceptions' '-I' '/opt/ti/gcc/msp430-elf/include' '-I' '/opt/ti/ccsv6/ccs_base/msp430/include_gcc' '-O3' '-Os' '-Wall' '-v' '-mlarge' '-mcode-region=none' '-mdata-region=none' '-MMD' '-MP' '-MF' 'main.d' '-MT' 'main.d' '-fno-rtti' '-o' 'main.o' Finished building: ../main.cpp Building file: ../test.cpp Invoking: GNU Compiler "/opt/ti/gcc/bin/msp430-elf-gcc" -c -std=c++1y -mmcu=msp430fr6989 -fno-exceptions -I"/opt/ti/gcc/msp430-elf/include" -I"/opt/ti/ccsv6/ccs_base/msp430/include_gcc" -O3 -Os -Wall -v -mlarge -mcode-region=none -mdata-region=none -MMD -MP -MF"test.d" -MT"test.d" -fno-rtti -o"test.o" "../test.cpp" Using built-in specs. COLLECT_GCC=/opt/ti/gcc/bin/msp430-elf-gcc Target: msp430-elf Configured with: /opt/redhat/msp430-14r1-364/sources/tools/configure --host=i686-redhat-linux --build=i686-redhat-linux --target=msp430-elf --prefix=/opt/redhat/msp430-14r1-364/i686-redhat-linux --enable-languages=c,c++ Thread model: single gcc version 4.9.1 20140707 (prerelease (msp430-14r1-364)) (GNUPro 14r1) (Based on: GCC 4.8 GDB 7.7 Binutils 2.24 Newlib 2.1) (GCC) COLLECT_GCC_OPTIONS='-c' '-std=c++1y' '-mmcu=msp430fr6989' '-fno-exceptions' '-I' '/opt/ti/gcc/msp430-elf/include' '-I' '/opt/ti/ccsv6/ccs_base/msp430/include_gcc' '-O3' '-Os' '-Wall' '-v' '-mlarge' '-mcode-region=none' '-mdata-region=none' '-MMD' '-MP' '-MF' 'test.d' '-MT' 'test.d' '-fno-rtti' '-o' 'test.o' /opt/ti/gcc/bin/../libexec/gcc/msp430-elf/4.9.1/cc1plus -quiet -v -I /opt/ti/gcc/msp430-elf/include -I /opt/ti/ccsv6/ccs_base/msp430/include_gcc -imultilib large -iprefix /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/ -MMD test.d -MF test.d -MP -MT test.d ../test.cpp -quiet -dumpbase test.cpp -mmcu=msp430fr6989 -mlarge -mcode-region=none -mdata-region=none -auxbase-strip test.o -O3 -Os -Wall -std=c++1y -version -fno-exceptions -fno-rtti -o /tmp/cc08nMEq.s GNU C++ (GCC) version 4.9.1 20140707 (prerelease (msp430-14r1-364)) (GNUPro 14r1) (Based on: GCC 4.8 GDB 7.7 Binutils 2.24 Newlib 2.1) (msp430-elf) compiled by GNU C version 4.1.2 20080704 (Red Hat 4.1.2-55), GMP version 5.0.1, MPFR version 3.1.0, MPC version 0.9 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/sys-include" ignoring duplicate directory "/opt/ti/gcc/bin/../lib/gcc/../../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include/c++/4.9.1" ignoring duplicate directory "/opt/ti/gcc/bin/../lib/gcc/../../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include/c++/4.9.1/msp430-elf/large" ignoring duplicate directory "/opt/ti/gcc/bin/../lib/gcc/../../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include/c++/4.9.1/backward" ignoring duplicate directory "/opt/ti/gcc/bin/../lib/gcc/../../lib/gcc/msp430-elf/4.9.1/include" ignoring duplicate directory "/opt/ti/gcc/bin/../lib/gcc/../../lib/gcc/msp430-elf/4.9.1/include-fixed" ignoring nonexistent directory "/opt/ti/gcc/bin/../lib/gcc/../../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/sys-include" ignoring duplicate directory "/opt/ti/gcc/bin/../lib/gcc/../../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include" ignoring duplicate directory "/opt/ti/gcc/msp430-elf/include" as it is a non-system directory that duplicates a system directory #include "..." search starts here: #include <...> search starts here: /opt/ti/ccsv6/ccs_base/msp430/include_gcc /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include/c++/4.9.1 /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include/c++/4.9.1/msp430-elf/large /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include/c++/4.9.1/backward /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/include /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/include-fixed /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/include End of search list. GNU C++ (GCC) version 4.9.1 20140707 (prerelease (msp430-14r1-364)) (GNUPro 14r1) (Based on: GCC 4.8 GDB 7.7 Binutils 2.24 Newlib 2.1) (msp430-elf) compiled by GNU C version 4.1.2 20080704 (Red Hat 4.1.2-55), GMP version 5.0.1, MPFR version 3.1.0, MPC version 0.9 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 1a1fed4172c6cd7daa4ff072f27c6f2a COLLECT_GCC_OPTIONS='-c' '-std=c++1y' '-mmcu=msp430fr6989' '-fno-exceptions' '-I' '/opt/ti/gcc/msp430-elf/include' '-I' '/opt/ti/ccsv6/ccs_base/msp430/include_gcc' '-O3' '-Os' '-Wall' '-v' '-mlarge' '-mcode-region=none' '-mdata-region=none' '-MMD' '-MP' '-MF' 'test.d' '-MT' 'test.d' '-fno-rtti' '-o' 'test.o' /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/bin/as -v -I /opt/ti/gcc/msp430-elf/include -I /opt/ti/ccsv6/ccs_base/msp430/include_gcc -mP -mmcu=msp430fr6989 -ml -md -o test.o /tmp/cc08nMEq.s GNU assembler version 2.24.51 (msp430-elf) using BFD version (GNU Binutils) 2.24.51.20140505 COMPILER_PATH=/opt/ti/gcc/bin/../libexec/gcc/msp430-elf/4.9.1/:/opt/ti/gcc/bin/../libexec/gcc/:/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/bin/ LIBRARY_PATH=/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/large/:/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/lib/large/:/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/:/opt/ti/gcc/bin/../lib/gcc/:/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/lib/ COLLECT_GCC_OPTIONS='-c' '-std=c++1y' '-mmcu=msp430fr6989' '-fno-exceptions' '-I' '/opt/ti/gcc/msp430-elf/include' '-I' '/opt/ti/ccsv6/ccs_base/msp430/include_gcc' '-O3' '-Os' '-Wall' '-v' '-mlarge' '-mcode-region=none' '-mdata-region=none' '-MMD' '-MP' '-MF' 'test.d' '-MT' 'test.d' '-fno-rtti' '-o' 'test.o' Finished building: ../test.cpp Building target: uart_echo.out Invoking: GNU Linker "/opt/ti/gcc/bin/msp430-elf-gcc" -mmcu=msp430fr6989 -fno-exceptions -O3 -Os -Wall -v -mlarge -Wl,-Map,"uart_echo.map" -mcode-region=none -mdata-region=none -o"uart_echo.out" "./main.o" "./msp430_serial.o" "./test.o" "./driverlib/MSP430FR5xx_6xx/adc12_b.o" "./driverlib/MSP430FR5xx_6xx/aes256.o" "./driverlib/MSP430FR5xx_6xx/comp_e.o" "./driverlib/MSP430FR5xx_6xx/crc.o" "./driverlib/MSP430FR5xx_6xx/crc32.o" "./driverlib/MSP430FR5xx_6xx/cs.o" "./driverlib/MSP430FR5xx_6xx/dma.o" "./driverlib/MSP430FR5xx_6xx/esi.o" "./driverlib/MSP430FR5xx_6xx/eusci_a_spi.o" "./driverlib/MSP430FR5xx_6xx/eusci_a_uart.o" "./driverlib/MSP430FR5xx_6xx/eusci_b_i2c.o" "./driverlib/MSP430FR5xx_6xx/eusci_b_spi.o" "./driverlib/MSP430FR5xx_6xx/framctl.o" "./driverlib/MSP430FR5xx_6xx/gpio.o" "./driverlib/MSP430FR5xx_6xx/lcd_c.o" "./driverlib/MSP430FR5xx_6xx/mpu.o" "./driverlib/MSP430FR5xx_6xx/mpy32.o" "./driverlib/MSP430FR5xx_6xx/pmm.o" "./driverlib/MSP430FR5xx_6xx/ram.o" "./driverlib/MSP430FR5xx_6xx/ref_a.o" "./driverlib/MSP430FR5xx_6xx/rtc_b.o" "./driverlib/MSP430FR5xx_6xx/rtc_c.o" "./driverlib/MSP430FR5xx_6xx/sfr.o" "./driverlib/MSP430FR5xx_6xx/sysctl.o" "./driverlib/MSP430FR5xx_6xx/timer_a.o" "./driverlib/MSP430FR5xx_6xx/timer_b.o" "./driverlib/MSP430FR5xx_6xx/tlv.o" "./driverlib/MSP430FR5xx_6xx/wdt_a.o" -T"../msp430fr6989.ld" -Wl,--start-group -l"c" -l"gcc" -Wl,--end-group Using built-in specs. COLLECT_GCC=/opt/ti/gcc/bin/msp430-elf-gcc COLLECT_LTO_WRAPPER=/opt/ti/gcc/bin/../libexec/gcc/msp430-elf/4.9.1/lto-wrapper Target: msp430-elf Configured with: /opt/redhat/msp430-14r1-364/sources/tools/configure --host=i686-redhat-linux --build=i686-redhat-linux --target=msp430-elf --prefix=/opt/redhat/msp430-14r1-364/i686-redhat-linux --enable-languages=c,c++ Thread model: single gcc version 4.9.1 20140707 (prerelease (msp430-14r1-364)) (GNUPro 14r1) (Based on: GCC 4.8 GDB 7.7 Binutils 2.24 Newlib 2.1) (GCC) COMPILER_PATH=/opt/ti/gcc/bin/../libexec/gcc/msp430-elf/4.9.1/:/opt/ti/gcc/bin/../libexec/gcc/:/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/bin/ LIBRARY_PATH=/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/large/:/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/lib/large/:/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/:/opt/ti/gcc/bin/../lib/gcc/:/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/lib/ COLLECT_GCC_OPTIONS='-mmcu=msp430fr6989' '-fno-exceptions' '-O3' '-Os' '-Wall' '-v' '-mlarge' '-mcode-region=none' '-mdata-region=none' '-o' 'uart_echo.out' '-T' '../msp430fr6989.ld' /opt/ti/gcc/bin/../libexec/gcc/msp430-elf/4.9.1/collect2 -plugin /opt/ti/gcc/bin/../libexec/gcc/msp430-elf/4.9.1/liblto_plugin.so -plugin-opt=/opt/ti/gcc/bin/../libexec/gcc/msp430-elf/4.9.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccnfyLKt.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lcrt -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lgcc --gc-sections -o uart_echo.out /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/lib/large/crt0.o /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/large/crtbegin.o -L/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/large -L/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/lib/large -L/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1 -L/opt/ti/gcc/bin/../lib/gcc -L/opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/lib -Map uart_echo.map ./main.o ./msp430_serial.o ./test.o ./driverlib/MSP430FR5xx_6xx/adc12_b.o ./driverlib/MSP430FR5xx_6xx/aes256.o ./driverlib/MSP430FR5xx_6xx/comp_e.o ./driverlib/MSP430FR5xx_6xx/crc.o ./driverlib/MSP430FR5xx_6xx/crc32.o ./driverlib/MSP430FR5xx_6xx/cs.o ./driverlib/MSP430FR5xx_6xx/dma.o ./driverlib/MSP430FR5xx_6xx/esi.o ./driverlib/MSP430FR5xx_6xx/eusci_a_spi.o ./driverlib/MSP430FR5xx_6xx/eusci_a_uart.o ./driverlib/MSP430FR5xx_6xx/eusci_b_i2c.o ./driverlib/MSP430FR5xx_6xx/eusci_b_spi.o ./driverlib/MSP430FR5xx_6xx/framctl.o ./driverlib/MSP430FR5xx_6xx/gpio.o ./driverlib/MSP430FR5xx_6xx/lcd_c.o ./driverlib/MSP430FR5xx_6xx/mpu.o ./driverlib/MSP430FR5xx_6xx/mpy32.o ./driverlib/MSP430FR5xx_6xx/pmm.o ./driverlib/MSP430FR5xx_6xx/ram.o ./driverlib/MSP430FR5xx_6xx/ref_a.o ./driverlib/MSP430FR5xx_6xx/rtc_b.o ./driverlib/MSP430FR5xx_6xx/rtc_c.o ./driverlib/MSP430FR5xx_6xx/sfr.o ./driverlib/MSP430FR5xx_6xx/sysctl.o ./driverlib/MSP430FR5xx_6xx/timer_a.o ./driverlib/MSP430FR5xx_6xx/timer_b.o ./driverlib/MSP430FR5xx_6xx/tlv.o ./driverlib/MSP430FR5xx_6xx/wdt_a.o --start-group -lc -lgcc --end-group -lgcc --start-group -lc -lgcc -lcrt -lnosys --end-group -lgcc /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/large/crtend.o /opt/ti/gcc/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/lib/large/crtn.o -lgcc -T ../msp430fr6989.ld Finished building target: uart_echo.out **** Build Finished ****