Stellaris Launchpad-Toolchain unter Linux

Aus Hobbyelektronik.org

Im folgenden wird beschrieben, wie man sich die Toolchain, Debugger und Flashtools zum Programmieren via USB für das Stellaris Launchpad von Grund auf selber baut. Die Idee dazu kam mir, als ich Probleme mit einem der 32bit Compiler von TI unter einem 64bit Betriebssystem hatten. Außerdem ist es natürlich deutlich "cooler" seine eigenen Compiler zu verwenden! So kann man bei Problemen auch einfach mal im Source Code stöbern.

An dieser Stelle sei gesagt, das dieser Vorgang sehr rechen- und zeitintensiv ist und ihr während des Bauvorgangs deutlich über 10 Tassen Kaffee trinken könnt. Um Missverständnisse auszuräumen, sei kurz erwähnt, dass dieses Tutorial für Linuxanwender gedacht ist und eine Portierung auf Windos schwer sein dürfe.

Die komplette Software für die Toolchain kann mittels eines Makefiles(Datei:StellarisToolchainMakefile.h) heruntergeladen und gebaut werden. Am Anfang des Artikels wird die Verwendung dieses Makefiles erklärt. Danach wird auf die einzelnen Komponenten kurz eingegangen.

Warnung: Die hier verwendeten Softwarepakete unterliegen verschiedensten Lizenzen, welche eingehalten müssen werden!

Bauen der Toolchain

Zu Begin sollte man sich das Makefile herunterladen und in einem beliebigen Ordner speichern:

$ mkdir ~/stellarislaunchpad/
$ wget http://hobbyelektronik.org/w/images/d/d6/StellarisToolchainMakefile.h -O ~/stellarislaunchpad/Makefile

Anschließend folgt das Herunterladen aller Sourcen. Diese haben entpackt eine Größe von ca. 1.4 GiB und liegen in dem Ordner "~/stellarislaunchpad/source". Zur Überprüfung sind hier die heruntergeladen Pakete aufgeführt.

$ make initial -C ~/stellarislaunchpad/
......
$ ls -1 ~/stellarislaunchpad/source/ 
binutils-2.22
gcc-4.9.0
gdb-7.8
lm4tools-master
newlib-2.1.0
openocd-0.8.0
stellarisWare-master
texinfo-5.2

Jetzt kann der eigentliche Bauvorgang gestartet werden. Dieser wird je nach Rechenleistung des Computers mehrere Stunden benötigen. Die Anzahl der Jobs, mit denen gebaut wird, berechnet sich automatisch aus der Anzahl der Prozessoren. Daher das "make" nicht mit mehren Jobs starten!

$ make all -C ~/stellarislaunchpad/

Das Ergebnis des Bauvorgangs mit Compiler, Gdb, lm4flash, usw. befindet sich in dem Ordner ~/stellarislaunchpad/.

Die wichtigsten Binaries sind:

~/stellarislaunchpad/output/bin/arm-none-eabi-gcc       # c compiler
~/stellarislaunchpad/output/bin/lm4flash                # tool to programm the stellaris launchpad via usb
~/stellarislaunchpad/output/bin/arm-none-eabi-gdb       # gdb
~/stellarislaunchpad/output/arm-none-eabi/sys-include/  # folder with usefull header

Nach diesem langwierigem Prozess des Bauens können wir uns endlich der Programmierung des Stellaris Launchpads widmen. Hierfür ist in dem Makefile ein Beispiel vorhanden. Dabei wird das "blinky" Projekt der Stellaris Ware gebaut und auf das Lauchpad gespielt. Dazu muss das Launchpad selbstverständlich am PC via USB eingesteckt sein. Leider ist es mir bis jetzt nicht gelungen, das lm4flash Tool ohne Rootrechte zu starten. Der Systemcall dazu lautet:

$ sudo make example -C ~/stellarislaunchpad/

Ist alles gut gegangen, blinkt das Stellaris Launchpad nun fröhlich in grün vor sich hin. Bei der Stellaris Ware (unter ~/stellarisware/source/stellarisWare-master/) befinden sich noch viele weitere Beispiele, welche zum experimentieren einladen.

Erklärung des Makefiles

IN BEARBEITUNG!