Re: msp430-elf-gcc upcoming release

Eric <[email protected]>
Newsgroups gmane.comp.hardware.texas-instruments.msp430.gcc.user
Message-ID <[email protected]>
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, [email protected] placed into existence:
] Date: Tue, 22 Apr 2014 10:34:30 -0500
] From: Peter Bigot <[email protected]>
] Subject: [Mspgcc-users] msp430-elf-gcc upcoming release
] To: "GCC for MSP430 - http://mspgcc.sf.net"
] 	<[email protected]>
] Message-ID:
] 	<CAPOJ94PGLz+BkaKm9hWc2RXg2PSBT=9X_m5H0+fvByDtZnGmuw@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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.