MSP430 Mikrocontroller Programmierung

Entwicklungswerkzeuge unter Linux (PI-Pool in D7)

Linux

Installation der gcc GNU-Toolchain

mspg_tools.tgz Download der Entwicklerwerkzeuge für Linux
su Die Installation kann z. Z. nur als root durchgeführt werden
tar xzf mspg_tools.tgz Entpacken des Archives. Es entstehen die Verzeichnisse
mspg_toolchain und
test
cd mspg_toolchain In das Verzeichnis mit den Entwicklertools wechseln.
./install.sh Nun wird der Komiler gcc,  eine Reihe von Utilities und die wichtigsten Bibliotheken für die MSP430 Mikrocontroller Plattform übersetzt. Die Entwicklung funktioniert später analog zum gcc Kompiler der eigenen Linux Plattform. Jedoch werden diese Werkzeuge mit msp430-* (z. B. msp430-gcc) aufgerufen. Alle Werkzeuge und Libs sollten nach der Installation im Verzeichnis /usr/local/msp430/. abgelegt sein. Wer diesen Pfad ändern will, kann ihn einfach hinter install.sh als Option angeben, z. B. "./install.sh ~/msp430". In diesem Beispiel würde die Installation im eigenen Homeverzeichnis ~/ unter msp430/. erfolgen. Damit die MSP430 spezifischen Werkzeuge gefunden werden, ist es wichtig das Verzeichnis /usr/local/msp430/bin in den allgmeinen Suchpfad aufzunehmen. Das gleiche gilt für die neu erstellen Bibliotheken im Unterverzeichnis lib/ des msp430-Pfades.

Test der MSP430 Entwicklerwerkzeuge

export PATH=$PATH:/usr/local/msp430/bin

export LD_LIBRARY_PATH=
$LD_LIBRARY_PATH:/usr/local/msp430/lib
Damit die Werkzeuge von der shell (bei unserem Test eine bash) gefunden werden, muss der Pfad zu den Entwicklungstools mit in den Standard-Suchpfad aufgenommen werden. Während der Installation der Entwicklertools wurden auch Bibliotheken für den MSP430 erzeugt. Damit diese vom (Cross-) Linker gefunden werden, muss auch der lib/. Unterpfad der MSP430-Installation in den Standard-Suchpfad LD_LIBRARY_PATH des Linkers aufgenommen werden. Beides geschieht mit den beiden export-Kommandos (links). Wer oben bei ./install.sh einen eigenen Pfad definiert hat, muss die beiden Befehle natürlich entsprechend anpassen.
Vorsicht: Dies ist bei jedem Start einer neuen Konsole erneut nötig. Ggfs. macht es Sinn die Zeile z. B. in die ~/.bashrc aufzunehmen.
msp430-gdbproxy --port=2000 msp430 Hiermit wird ein Proxy gestartet. Am besten man startet diesen in einer separaten Konsole, da er während der gesamten Entwicklungsarbeit laufen muss und auch immer wieder Meldungen ausgibt. Er stellt eine Verbindung zwischen dem parallelen Port und dem TCP/IP Netzwerk her. Später wird sich der Debugger gdb über das interne Netzwerk des Rechners mit diesem Port verbinden. In der Regel wird der Rechner mit dem angeschlossenen Mikrocontroller und den Entwicklungswerkzeugen der gleiche sein. Es ist jedoch auch möglich, dass mehrere Rechner auf einen zentralen Arbeitsplatz mit nur einem angeschlossenen Mikrocontroller zugreifen. WICHTIG: Es muss einem normalen Benutzer erlaubt sein auf die parallele Schnittstelle zuzugreifen (/dev/parport0). Ist dies nicht der Fall, so kann der Proxy nur als root gestartet werden.
cd test Nach der (hoffentlich) fehlerfreien Installation ins Verzeichnis ./test aus dem obigen Archiv wechseln.
make Mit make sollten die Unterprogramme im Verzeichnis ./src übersetzt und gelinkt werden. Die Objekt- und die ausführbaren Binärdateien stehen danach im Unterverzeichnis ./out zur Verfügung. Die .hex Datei ist dabei diejenige, die unmittelbar auf dem Mikrocontroller ausgeführt werden kann.
make flash Läd die ausführbaren .hex Datei auf den Mikrocontroller und führt das Programm nach einem Reset desselben gleich aus. Wenn alles funktioniert hat sollten die Dioden leuchten und unter anderem ein 1s langes Signal zu hören sein.
Eigene Programme entwickeln Die Datei ./src/main.c kann für erste Tests und eigene Programme verändert werden. Nach einem erneuten
make && make flash
wird das Programm bei fehlerfreier Kompilierung ausgeführt.

Alternativ: Gentoo ebuilds

dev-embedded-2007-05-31.tar.bz2 Download der ebuilds für Gentoo
dev-embedded-2007-06-01.tar.bz2 Download der ebuilds für Gentoo (includes TinyOS-Patch)
entpacken nach /usr/local/portage Das Archiv entpacken, so dass sich unter /usr/local/portage/dev-embedded die Verzeichnisse für die einzelnen Tools befinden.
/etc/make.conf editieren In der make.conf muss ein Eintrag hinzugefügt werden, damit emerge die ebuilds auch findet: PORTDIR_OVERLAY="/usr/local/portage"
emerge -pv msp430-gcc Jetzt mit "emerge -s msp430" nach den neuen ebuilds suchen und emergen.