Hi all,

I would like to share my experience (quite successful ;O) with MSP430X
and MSPGCC with Cygwin 1.7.7.
Please notice that I'm quite a new to MSPGCC and MSP430X, but this post
may help other beginners.
Along this post , you'll find some remaining questions, if you have any
informations about theses or others, do not hesitate to share them.

To get the compiler working on my cygwin with MSP430X extension, I've
simply followed the the simple  tutorial:
http://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=Building_MSPGCC_from_Source_Code
Downloading steps were very ok, but here are some remarks about
compilation steps.

1) *** COMPILING BINUTILS ***
cd binutils-2.19
patch -p1<  ../packaging/patches/binutils-2.19-patch
./configure --target=msp430 --prefix=/opt/msp430-X
make

ISSUE1: During compilation I got a "segmentation fault" with gcc on
arparse.c compilation
==>  I just removed (set to empty) the NO_WERROR variable inside the
binutils/makefile.

make install


2) *** COMPILING GCC MSP430X ***
cp -av gcc/gcc-3.3/* gcc-3.2.3
cd gcc-3.2.3
./configure --target=msp430 --prefix=/opt/msp430-z1
make

ISSUE2: Some of the source files (gcc-3.2.3/config.sub,
gcc-3.2.3/config.gcc) were containing '\r' (0x15) char.
==>  I just get ride of them with commands like:
mv config.sub config.sub.old
tr -d '\15'<  config.sub.old>  config.sub
BUT notice that i found later that this issuecould have been solved
inserting
"set SHELLOPTS=igncr" inside "cygwin.bat" just after first line "@echo off"

  make install

ISSUE3: When trying  to make Install i got
"*** No rule to make target `../libiberty/libiberty.a', needed by
`gengenrtl..."
==>  I had to recompile manually libiberty:
cd libiberty
make
..
cd ..

make install



3) *** COMPILING libc ***
cd msp430-libc/src
Think about modifying the Makefile:
PREFIX = /opt/msp430.X
And copy or link your freshly compiled "msp430-gcc.exe" to
msp430/bin/gcc.exe
then:
make
make install
ISSUE4: On my side make install failed so I just did
make install-multilib

IMPORTANT NOTE: hardware multiplication is not well supported, hence
think about compiling AND linking your futur source code with the
option: "--mdisable-hwmul"

<Q1>  IS THERE ANY WORKS ON IMPROVEMENTS FOR MSP430X.( i.e. support of
hardware multiplications, functions pointers etc ...) ? IS THE MSP430X
BRANCH STILL ALIVE ?


ISSUE5: To get a project correctly linked i had to comment all the
source code inside "vuprintf()" function of "vuprintf.c", and recompile
and re-install the libc ?

<Q2>  I'VE READ THAT THERE IS A PROBLEM WITH FUNCTION POINTERS ?
There's a first comment about this here:
http://comments.gmane.org/gmane.comp.hardware.texas-instruments.msp430.gcc.user/8993
Thanks, but does any one now about a (future) correction in MSP430X ?


ISSUE6: Even if compiled with "--mdisable-hwmul" option a source
containing a logical shift left on long can't be linked :
{
   long hi;
    ...
   hi<<= 1;
   ...
}
<Q3>  PLEASE HELP FOR THIS ISSUE6 ?


ISSUE7: As I have to use an F543xA mcu I had to import all the I/Os
definition from msp430gcc 4.4.4 ! (merging MSP430X branch with mspgcc4
would be nice !)
mv /opt/msp430.X/msp430/include /opt/msp430.X/msp430/include.old
cp -r /opt/msp430-gcc-4.4.4/msp430/include /opt/msp430.X/msp430/include

<Q4>  DO YOU SEE ANY RISK ABOUT THE SOLUTION TO THIS LAST ISSUE 7 ?


ISSUE8: To get some flash access working
Add #include "flash.h" inside include/msp430x54xx.h (coming from 4.4.4)

Then, I could compile and upload small and "quite big" programs that use
extended flash using
  __attribute__((__far__))
And functions that are in far memory seem to work correctly.

NOTE: I use "mspdebug 0.12" and the MSP43F543XA BSL with a flying camp
dongle to upload software, That's nice. The only issue is the BSL
activation sequence which, for MSP430F543XA, must be inverted on the
TEST signal compared to the TI SLAU319a documentation.

I have to do more tests now.
But if any of you have any comments or other experience with MSP430.X
please feedback.

Regards

-- 
Pierre-emmanuel



------------------------------------------------------------------------------
What happens now with your Lotus Notes apps - do you make another costly 
upgrade, or settle for being marooned without product support? Time to move
off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
use, and manage than apps on traditional platforms. Sign up for the Lotus 
Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Reply via email to