Stellaris Launchpad-Toolchain unter Linux: Unterschied zwischen den Versionen

Aus Hobbyelektronik.org
(Die Seite wurde neu angelegt: „=Einleitende Worte= Im folgenden wird beschrieben, wie man sich die Toolchain, Debugger und Flashtools zum Programmieren via USB für das Stellaris Launchpad v…“)
 
K
Zeile 9: Zeile 9:
 
<b>Warnung:</b> Die hier verwendeten Softwarepackete unterliegen verschiedensten Lizenzen, welche eingehalten müssen werden!
 
<b>Warnung:</b> Die hier verwendeten Softwarepackete unterliegen verschiedensten Lizenzen, welche eingehalten müssen werden!
  
=Howto=
+
=Howto build Toolchain=
 
Zu Begin sollte man sich das Makefile herrunterladen und in einem beliebigen Ordner speichern:
 
Zu Begin sollte man sich das Makefile herrunterladen und in einem beliebigen Ordner speichern:
 
<pre>
 
<pre>

Version vom 10. November 2014, 21:33 Uhr

Einleitende Worte

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 Kaffe 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 einzelen Kompontenen kurz eingegangen.

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

Howto build Toolchain

Zu Begin sollte man sich das Makefile herrunterladen 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 herrunterladen aller Sourcen. Diese haben entpackt eine Größe von ca. 1.4Gb und liegen in dem Ordner "~/stellarislaunchpad/source". Zur Überprüfung sind hier die herruntergeladen Packete 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 zu starten!

$ make all -C ~/stellarislaunchpad/

Das Ergebnis des Bauvorgangs mit Compiler, Gdb, lm4flash, usw. befindet sich in dem Ordner ~/stellarislaunchpad/. Hier die wichtigsten Binarys:

~/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!