Skip to content
This repository has been archived by the owner on Aug 25, 2020. It is now read-only.

How to use iSense with MPS430

Marvin Frick edited this page May 28, 2013 · 1 revision

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.