Back in mid April GCC forked off a branch for 4.9.0, which will be the first release of GCC that supports the MSP430. I've verified basic functionality with:
binutils git://sourceware.org/git/binutils-gdb.git master gcc git://gcc.gnu.org/git/gcc.git gcc-4_9-branch newlib git://sourceware.org/git/newlib.git master A couple issues: * The only headers/linker scripts available are from GCC_RH_20131206.zip; memory.ld and peripherals.ld for each MCU need to be manually combined to get something binutils can process * __delay_cycles() didn't get back-ported from the version that TI published back in December msp430-elf-gdb also doesn't appear to work with mspdebug: (gdb) target remote :2000 Remote debugging using :2000 Reply contains invalid hex digit 59 I expect there'll be some issues with newlib as well; it appears to use a unique syscall interface that I haven't tried to reverse engineer. However, I'm unsure the flags I used are appropriate (they derive from the ones used for arm-gcc). I do know that newlib without the nano enhancements will not be acceptable for MSP430 work. Insight from Red Hat on a complete set of recommended flags known to work together would be appreciated. Below is the script I use for building, with /opt/{binutils,gcc,newlib} being git workspaces checking out the branches named above. To help ensure the new toolchain is as good as possible when it's first released, mspgcc users please try it and report problems to Red Hat through whatever mechanism they prefer, either here or on the upstream toolchain support lists. Peter TODATE=$(date +%Y%m%d) PREFIX=/usr/local/msp430-elf-dev-${TODATE} rm -rf ${PREFIX} export PATH=${PREFIX}/bin:${PATH} rm -rf binutils && mkdir binutils && cd binutils /opt/binutils/configure --prefix=${PREFIX} --target=msp430-elf 2>&1 | tee co make -j8 2>&1 | tee mo make install 2>&1 | tee moi cd .. rm -rf gcc && mkdir gcc && cd gcc /opt/gcc/configure --prefix=${PREFIX} --target=msp430-elf --with-newlib --enable-languages=c,c++ 2>&1 | tee co make -j12 all-host 2>&1 | tee moah make install-host 2>&1 | tee moiah cd .. rm -rf newlib && mkdir newlib && cd newlib /opt/newlib/configure \ --prefix=${PREFIX} \ --target=msp430-elf \ --disable-newlib-supplied-syscalls \ --enable-newlib-reent-small \ --disable-newlib-fvwrite-in-streamio \ --disable-newlib-fseek-optimization \ --disable-newlib-wide-orient \ --enable-newlib-nano-malloc \ --disable-newlib-unbuf-stream-opt \ --enable-lite-exit \ --enable-newlib-global-atexit \ --disable-nls 2>&1 | tee co make 2>&1 | tee mo make install 2>&1 | tee moi cd .. cd gcc make -j12 all-target 2>&1 | tee moat make install-target 2>&1 | tee moiat cd .. ------------------------------------------------------------------------------ Start Your Social Network Today - Download eXo Platform Build your Enterprise Intranet with eXo Platform Software Java Based Open Source Intranet - Social, Extensible, Cloud Ready Get Started Now And Turn Your Intranet Into A Collaboration Platform http://p.sf.net/sfu/ExoPlatform _______________________________________________ Mspgcc-users mailing list Mspgcc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mspgcc-users