Thanks Peter!  I've successfully compiled msp430-elf-gcc 4.9 using those 
instructions on a 64-bit Linux host.

For anyone else new to this GCC build, here's the additional steps I used to 
get the headers & linker scripts
into the correct place:

Download the GCC_RH_20131206.zip file from 
http://www.ti.com/tool/msp430-gcc-opensource (click "Get Software")

Modify this shell script (tested under Linux only so far) to install the 
headers and linker scripts (change
paths to install and zipfile):   
https://gist.github.com/spirilis/115655b9bf206402ff50

This combines memory.ld and peripherals.ld into lib/<part#>.ld as Peter 
suggested was needed in his quoted message.
It also cleans up the ldscript directories from the include/ dir.

I have successfully compiled a binary with it. ... but haven't tried it on 
actual hardware yet :-)
Getting to that soon.



On Tue, Apr 22, 2014 at 06:57:55PM +0000, 
mspgcc-users-requ...@lists.sourceforge.net placed into existence:
] Date: Tue, 22 Apr 2014 10:34:30 -0500
] From: Peter Bigot <big...@acm.org>
] Subject: [Mspgcc-users] msp430-elf-gcc upcoming release
] To: "GCC for MSP430 - http://mspgcc.sf.net";
]       <mspgcc-users@lists.sourceforge.net>
] Message-ID:
]       <CAPOJ94PGLz+BkaKm9hWc2RXg2PSBT=9x_m5h0+fvbydtzng...@mail.gmail.com>
] Content-Type: text/plain; charset=UTF-8
] 
] 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

Reply via email to