-
Notifications
You must be signed in to change notification settings - Fork 8
How to use iSense with MPS430
Instead of a normal gcc you need mspgcc in order to compile iSense for the mps430.
-
For Windows: Download the installation file from: http://sourceforge.net/projects/mspgcc/files/
-
For Linux: You need to download and compile all single components as describe below. An error may occur while compiling msp430-libc with cygwin concerning some unknown devices. In this case it may be sufficient to set line 68 in commentaries:
#crt430x1471.o crt430x1481.o crt430x1491.o \
But if this hack implicates other problems which does not concern iSense, is unknown.
Installation guide for Unix/Linux/Cygwin (from http://www.mikrocontroller.net/articles/MSPGCC#Installationsanleitung_f.C3.BCr_Unix.2FLinux.2FCygwin):
$ su
$ mkdir /tmp/mspgcc
$ cd /tmp/mspgcc
[edit] binutils
$ wget ftp://sources.redhat.com/pub/binutils/releases/binutils-2.17.tar.bz2
$ tar xjvf binutils-2.17.tar.bz2
$ cd binutils-2.17
$ ./configure --prefix=/usr/local/msp430 --target=msp430
$ make
$ make install
$ cd ..
$ export PATH=/usr/local/msp430/bin:$PATH
Remarks:
-
The command wget needs internet access.
-
Die Version 2.14 enthält nicht alle Controllertypen. So fehlen zum Beispiel die Typen MSP430F1611 und MSP430F1612. Bei Version 2.17 kann es zu fehlerhaften binarys kommen (Fehler: test.elf has no bss section). Mit der Version 2.16.1 sollte alles funktionieren.
-
Ich versuche es mit 2.19.1, wenn ich auf Fehler stosse, dann berichte ich davon..
[edit] gcc
Achtung: MSPGCC kompiliert nicht gcc-4.1. Abhilfe schafft es zu Beginn (oder vor configure) den Befehl "export CC=gcc-3.3" bzw. "export CC=gcc-3.4" aufzurufen. Auch ist darauf zu achten die Dateien gcc-core-3.2.3 und gcc-g++.tar.bz2 und nicht etwa gcc-3.2.3 runterzuladen.
$ wget ftp://gcc.gnu.org/pub/gcc/releases/gcc-3.2.3/gcc-core-3.2.3.tar.bz2
$ wget ftp://gcc.gnu.org/pub/gcc/releases/gcc-3.2.3/gcc-g++-3.2.3.tar.bz2
$ tar xjvf gcc-core-3.2.3.tar.bz2
$ tar xjvf gcc-g++-3.2.3.tar.bz2
$ cvs -d:pserver:[email protected]:/cvsroot/mspgcc login
$ cvs -z3 -d:pserver:[email protected]:/cvsroot/mspgcc co gcc/gcc-3.3
$ cp -r gcc/gcc-3.3/* gcc-3.2.3/
$ cd gcc-3.2.3
$ ./configure --prefix=/usr/local/msp430 --target=msp430 --enable-languages=c,c++
$ make
$ make install
$ cd ..
[edit] msp430-libc
$ cvs -d:pserver:[email protected]:/cvsroot/mspgcc login
$ cvs -z3 -d:pserver:[email protected]:/cvsroot/mspgcc co msp430-libc
$ cd msp430-libc/src
$ make
$ make install
$ cd ../..
[edit] gdb
$ wget http://mirrors.redwire.net/pub/sources.redhat.com/gdb/old-releases/gdb-6.0.tar.bz2
$ tar xjvf gdb-6.0.tar.bz2
$ cvs -d:pserver:[email protected]:/cvsroot/mspgcc login
$ cvs -z3 -d:pserver:[email protected]:/cvsroot/mspgcc co gdb/gdb-current
$ cp -r gdb/gdb-current/* gdb-6.0/
$ cd gdb-6.0
$ ./configure --prefix=/usr/local/msp430 --target=msp430
$ make
$ make install
$ cd ..
Achtung: Der GDB kann nicht mit GCC 4.x übersetzt werden. Wenn dieser auf dem System standardmäßig installiert ist, kann man z.B. den GCC 3.4 zusätzlich installieren und dann vor der ./configure- Zeile
$ export CC=gcc-3.4
einfügen.
Remark: Bei Ubuntu (evtl auch bei anderen Distributionen) sind die Entwicklerdateien für die Library libtermcap im Paket libncurses5-dev
[edit] JTAG
$ cvs -d:pserver:[email protected]:/cvsroot/mspgcc login
$ cvs -z3 -d:pserver:[email protected]:/cvsroot/mspgcc co jtag
$ cd jtag/hardware_access
Wer ein 64-Bit-Linux verwendet, muss im makefile die CFLAGS und die LNOPTS um ein -m32 ergänzen. Das sollte dann so aussehen:
CFLAGS += -fPIC -m32
LNOPTS = -fPIC -shared -m32
Weiter geht's:
$ make
$ mv libHIL.so /usr/local/lib
$ ldconfig
$ cd ../..
[edit] gdbproxy
Den msp430-gdbproxy und libMSP430.so von http://www.soft-switch.org/downloads/mspgcc herunterladen. Danach
$ chmod +x msp430-gdbproxy
$ mv msp430-gdbproxy /usr/local/msp430/bin/
$ mv libMSP430.so /usr/local/lib/
ausführen.