MSP430 LaunchPad - Entwicklungskit von TI

posted by: Claudio Hediger

Das MSP430 Launchpad ist ein extrem günstiges aber dennoch leistungsstarkes Entwicklungsboard für die MSP430 Value Linie.

Diese Mikrocontroller zeichnen sich vorallem durch ihren extrem niedrigen Stromverbrauch aus. Deshalb sind Sie ideal für kleine, Batterie betrieben Geräte.
Sie haben zudem eine 16-Bit Architektur.

 

Das Board

firefox

Das ist das LaunchPad

Im oberen Teil, befindet sich die Emulations sowie Debugging Hardware. Im unteren Bereich, kann man bis zu 20-Polige DIL Mikrocontroller einstecken und programmieren.

Dem Programmierer stehen 2 LED's zur verfügung. Sie haben die Farben rot und grün. Zudem befinden sich 2 Taster auf dem Board.

Programmiert wird bequem, über die Mini USB Buchse. Somit ist das Launchpad zu so ziemlich allen Computern und Laptops kompatibel.

Als Entwicklungsumgebung, stehen einem verschieden Hersteller zur auswahl.

Auch Opensource Porgramme wie z.B. MSPGCC werden unterstützt. Von IAR gibt es die Kickstart Edition, welche ein Codelimit von 4kb hat. Zudem gibt es das CodeComposerStudio, kurz CCS. Dieses hat ein Limit von 16kb.

 

Zum Preis von 4.30$ gab es das Launchpad eine begrenzte Zeit lang mit kostenlosem Versand zu haben. Der Link auf die TI Seite ist oben rechts bei den Links.

 

Die Controller der Value Linie

Hier habe ich die interessantesten Controller der Value Linie ein wenig genauer unter die Lupe genommen. Die MSP430 Controller haben, im gegensatz zu anderen Mikrocontrollern wie beispielsweise dem AVR, eine Von-Neumann-Architektur.

  • MSP430G2211
  • MSP430G2231

Haupt Features:

Speicher SRAM I/O USI ADC TSensor Comp.
2kb 128b 10 Ja Nein Nein Ja

Der Spannungsbereich ist bei allen MSP430G2xxx bei 1.8V - 3.6V

Haupt Features:

Speicher SRAM I/O USI ADC TSensor Comp.
2kb 128b 10 Ja Ja Ja Nein

Der Spannungsbereich ist bei allen MSP430G2xxx bei 1.8V - 3.6V

Erste Schritte

  1. Als erstes benötigt man ein LaunchPad :)
    Dieses bekommt man für gerademal 4.30$ im Texasinstruments Store hier

  2. Nun müssen wir eine Entwicklungsumgebung installieren.
    Ich verwende derzeit das CodeComposerStudio von TI.

  3. Wenn alles installiert ist, können wir das CCS öffnen und ein erstes Beispielprogramm öffnen.

 

Die Entwicklungsumgebung - Code Composer Studio

Zum entwickeln empfiehlt es sich zu Beginn, die Software von TI zu verwenden.
Das sogenannte CodeComposerStudio oder kurz CCS.

Dieses findet man hier zum Download

In der FREE Version ist es auf 16kB Code begrenzt. Dies reicht zu beginn meistens. Für grössere Projekte empfiehlt es sich, auf mikrocontroller.net nachzulesen wie man das launchpad zusammen mit dem freien GCC Compiler und Eclipse verwenden kann.

 

Neues Projekt und Buttons

Zu Beginn benötigen wir ein neues Projekt. Dazu klicken wir im CCS auf Datei -> Neu -> CCS Projekt

  1. Danach öffnet sich ein Dialogfenster mit einem Assistenten. Diese führt uns nun Schritt für Schritt zum Ziel, dem eigenen Projekt.
  2. Zuerst vergeben wir dem Projekt einen Namen und bestimmen den Speicherort.
  3. Danach wählen wir den Projekttyp (MSP430) und was wir erzeugen möchten.
    Wir möchten in diesem Fall ein Release und ein Debug erzeugen können.
  4. Abhängigkeiten haben wir keine als hier auf weite klicken.
  5. Nun müssen wir den Controller Typ auswählen. Wähle dazu den Namen welcher auf dem IC steht das sich in deinem Launchpad im Sockel befindet.
  6. Nun klicken wir Fertigstellen.

Das Projekt wurde nun Angelegt. Wir müssen jedoch noch eine main.c hinzufügen.
Klicke dazu mit der rechten Maustaste auf dein neues Projekt und wähle:
New -> File -> Source File

Im Fenster gibst du nun "main.c" ein und bestätigst mit ok.

Nunn kannst du loslegen und Programmieren!

Die Software ansich ist sehr intuitiv bedienbar. Durch ein paar klicks hat man schnell die wichtigsten Dinge gefunden. Für alle nicht-gern-herumklicker hier noch ein paar wichtige Buttons

Diese Buttons befinden sich oben links im CCS
Sie dienen dazu, das aktive Projekt zu erzeugen oder es zu Debuggen. Drucken lässt sich mit dem einen Button auch. Speichern mit dem inaktiven ganz links.


Dieser Button erzeugt das aktive Projekt. Aktiv ist jenes Projekt, welches links im Projektemanager Ausgewählt ist.


Nach dem erzeugen, kann man das Projekt sogleich auch Debuggen.
Dazu genügt ein Klick auf diesen grünen Käfer.

 

Ports und deren Konfiguration

Das CCS hat bereits vor konfigurierte PORT Bezeichnungen dabei. Hier sind einige davon aufgelistet.

Bezeichnung Beschreibung
P1DIR Konfigurationsregister für Port1 (Ein und Ausgänge)
P1IN Eingangsregister für Port1 (Eingang)
P1OUT Ausgangsregister des Port1 (Daten ausgeben)
BIT0..7 BIT Deklaration für den Zugriff auf die Register
WDTCTL Watchdog Control Register

 

Um nun z.b. das Bit5 von Port1 als Ausgang zu schalten, muss man eine Logische 1 an diese Stelle schreiben. Dazu hat man 2 Möglichkeiten. Entweder man macht es direkt in dem man den Wert in das Register schreibt

P1DIR = 0x20;

oder man löst es über Bit Verknüpfungen wie man es vom AVR gewöhnt ist.

P1DIR |= BIT5; //Setzt Bit5 durch eine oder (|) Verknüpfung als Ausgang

Möchte man mehrere Bits gleichzeitig konfigurieren geht dies so

P1DIR |= (BIT5 + BIT2); // Konfiguriert BIT5 und BIT2 als Ausgang

Möchte man ein Bit als Eingang konfigurieren verwendet man eine und (&) verknüpfung

P1DIR &= ~BIT5;

P1DIR &= ~(BIT5 + BIT2); //Konfiguriert BIT5 und BIT2 als Eingang

Dieses Zeichen ~ invertiert das nachfolgende Bit.

 

Der Watchdog und die Clocks

Damit ein Programm beim Launchpad auch ohne Debugger läuft, muss man den Watchdog deaktivieren. Dies geschieht über folgende Zeile Code

WDTCTL = WDTPW + WDTHOLD; // Stop WDT

Damit der Controller auch einen Takt erhält, konfiguriert man ihn über folgenden Code auf 1MHz intern Kalibrierten Takt

BCSCTL1 = CALBC1_1MHZ; // Set range
DCOCTL = CALDCO_1MHZ; // SMCLK = DCO = 1MHz