First Steps & Hallo Welt

Stellaris Logo

Bevor mit dem Programmieren begonnen werden kann, muss das Code Composer Studio und die andere notwendige Software installiert werden.
Sobald dies erledigt ist, zeige ich euch wie ihr das erste Programm für das LaunchPad erstellt, kompiliert und ausführt.

-> Setup:

Als aller erstes müsst ihr das Code Composer Studio und StellarisWare downloaden.
Den Downloadlink findet ihr hier. Anschließend benötigt ihr den ICDI Treiber, damit euer PC das Board als USB Gerät erkennt und verwenden kann.
Sobald die Downloads abgeschlossen sind, installiert ihr erst das Code Composer Studio und anschließend StellarisWare.
Das Board verbindet ihr anschließend über den Debuganschluss (der USB Anschluss direkt neben dem Mikrocontroller) mit dem PC.
Vorher müsst ihr den Schalter auf Debug stellen, damit das Board über den Debuganschluss mit Spannung versorgt wird.
Nun müsst ihr noch den benötigten Treiber installieren.
Hierfür nehmt ihr den ICDI Treiber, den ihr euch eben gedownloadet habt.
Sobald der Treiber installiert worden ist, sollte das Programm, welches sich bereits auf dem Mikrocontroller befindet, gestartet werden und die RGB-LED aufleuchten lassen:

Stellaris_HalloWelt(1)

Danach ist die Installation abgeschlossen und ihr könnt das Code Composer Studio starten.

-> Importieren von StellarisWare:

Nachdem ihr das Code Composer Studio gestartet habt, müsst ihr den StellarisWare Ordner importieren.
Hierfür klickt ihr auf Project und anschließend auf  Import Existing CCS Eclipse Project. In dem sich öffnenden Fenster klickt ihr neben dem Select search-directory Feld auf Browse und wählt dann euren StellarisWare Ordner aus:

Stellaris_HalloWelt(2)
Ihr müsst beide Ordner auswählen und dann klickt ihr auf Ok. Nun beginnt Code Composer Studio damit den Ordner zu importieren.
Sobald dies abgeschlossen ist klickt ihr auf Finish.

-> Das erste Projekt:

Jetzt könnt ihr euer erstes Projekt anlegen.
Hierfür klickt ihr auf File, dann auf New und anschließend auf New CCS Project.
Nun öffnet sich ein neues Fenster, Dieses füllt ihr wie folgt aus:

Stellaris_HalloWelt(3)
Nachdem ihr auf Finish geklickt habt, erscheint das neu angelegte Projekt im Projektexplorer auf der linken Seite.
Dieses Projekt wählt ihr aus und anschließend wählt ihr aus dem Rechtsklickmenü Properties aus:

Stellaris_HalloWelt(4)

In dem sich neu öffnenden Fenster klickt ihr unten in der linken Ecke auf Show advanced settings. Danach öffnet ihr das Untermenü von CCS Build, anschließend das von ARM Compiler und klickt auf Include Options.
In dem unteren Feld fügt ihr anschließend durch einen Klick auf das grüne + die StellarisWare hinzu:

Stellaris_HalloWelt(5)
Die Eingaben bestätigt ihr anschließend mit einem Klick auf Ok und anschließend sollten die Includes eures Projektordners so aussehen:

Stellaris_HalloWelt(6)
Danach müssen noch die Einstellungen von dem Toolchain angepasst werden.
Auch hier öffnet ihr wieder das Fenster Properties eures Projektordners und aktiviert die advanced settings.
Anschließend öffnet ihr das Untermenü von C/C++ Build und klickt auf Settings.
Jetzt öffnet ihr den Reiter Tool Settings und dort öffnet ihr das Untermenü Advanced Options, wo ihr dann den Ordner Predefined Symbols öffnet.
Dort tragt ihr dann wieder mit einem Klick auf das untere grüne + css und PART_LM4F120H5QR ein:

Stellaris_HalloWelt(7)
Auch diese Eingaben bestätigt ihr mit Ok.
Als letztes müsst ihr noch den Linker anpassen. Dafür öffnet ihr ihr erneut das Properties Fenster eures Projektordners.
Anschließend klickt ihr auf CCS Build, dann auf ARM Linker und anschließend auf File Search Path.
Dann klickt ihr auf das obere grüne + und anschließend auf Workspace.
Jetzt geht ihr auf driverlib-cm4f, dann auf Debug und wählt driverlib-cm4f.lib aus:

Stellaris_HalloWelt(8)
Dann klickt ihr auf Ok und bestätigt alles.
Jetzt sind die Grundeinstellungen für das Projekt fertig. Diese Einstellungen müssen bei JEDEM Projekt wiederholt werden!
Nun können wir damit beginnen das erste Programm zu schreiben…

-> Das erste Programm:

StellarisWare stellt bereits fertige Funktionen zur Verfügung, die das Programmieren des Chips erheblich erleichtern.
Als erstes wird die Clock initialisiert. Der Chip kann mit bis zu 84MHz arbeiten, aber für den Anfang verwende ich nur die 16MHz vom Quarz.
Der Funktionsaufruf hierfür sieht so aus:

Diese Zeile setzt den Systemclock auf die angegebenen Parameter. Der eine Parameter ist ein Teiler von 1 (SYSCTL_SYSDIV_1), der zweite ist das ein Oszillator verwendet wird (SYSCTL_USE_OSC) und der dritte ist das ein externes Quarz von 16MHz benutzt wird (SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN).
Als nächstes aktiviere ich mit

den Port B und das dementsprechende UART-Modul.
Nachdem die beiden Module aktiviert worden sind, muss der Tx-Pin eingestellt werden.
Dies geschieht so:

Die erste Zeile aktiviert die alternative Tx Funktion von Pin B.1 und die zweite Zeile weißt dem UART den Pin B.1 zu.
Anschließend wird der UART auf 19200 Baud, 8 Bit, keine Parität und 1 Stoppbit eingestellt

und anschließend aktiviert:

Im Hauptprogramm wird dann das Unterprogramm Send_UART aufgerufen, welches dafür sorgt, dass ein String versendet wird (in diesem Fall ein Hallo).
Das Unterprogramm sieht so aus:

Das Unterprogramm bestimmt die Länge des übergebenen Strings und lässt dann eine For-Schleife durchlaufen, die bis zur Stringlänge zählt und bei jedem Durchlauf ein Zeichen des Strings per UART ausgibt.
Nach dem Schleifendurchlauf wird noch ein CR und ein LF gesendet.
Die Zeile

sorgt für eine Pause von 1 Sekunde.
Die Funktion SysCtlDelay(long count) erzeugt einen Delay von drei
Taktzyklen x count.
Mit SysCtlClockGet() wird die aktuelle Taktfrequenz bestimmt, durch drei dividiert und an die Funktion SysCtlDelay() übergeben.

 

Dokumentation:

 

-> Zurück zum Stellaris LaunchPad

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload CAPTCHA.