MSP430 Programmieren


Dieser Artikel beschreibt wie man die Mikrocontroller-Serie MSP430 Programmieren und Debuggen kann. Hierbei wird auf die Programmierarten, Programmiergeräte und Entwicklungsumgebungen eingegangen.

Programmierarten

Um die MSP430 programmieren zu können, bietet Texas Instruments (kurz TI), zwei alternativen an:

  • Spy-Bi-Wire
  • JTAG

Spy-Bi-Wire

Das Spy-Bi-Wire wurde von Texas Instruments entwickelt und bietet eine Alternative zum herkömmlichen JTAG. Der Vorteil von Spy-Bi-Wire ist, dass nur 3 Leitungen (zusammen mit GND) benötigt werden, jedoch ist die Schnittstelle nicht so stabil wie JTAG und man kann weniger Break-Punkte im Programm setzen.

Die Pins sind in Tabelle 1 zusammengefasst:

Tab. 1: Pins für Spy-Bi-Wire

Name  Beschreibung
SBWTDIO Spy-Bi-Wire test data input/output during programming and test
SBWTCK Spy-Bi-Wire test clock input during programming and test
GND Erde

JTAG

JTAG ist die Kurzfassung von englischem Join Test Action Group. Über JTAG kann der Anwender den Mikrocontroller nicht nur programmieren sondern auch Debuggen beziehungsweise Testen. Die JTAG-Schnittstelle läuft bei TI sehr stabil. Für die MSP430-Serie werden für JTAG insgesamt 7 Leitungen verwendet (vgl. Tabelle 2). Zusätzlich muss zusammen mit den JTAG-Pins der GND weitergeführt werden.

Die Tabelle 2 fast die Programmierpins für JTAG zusammen.

Tab. 2: Pins für JTAG

Name  Beschreibung
TCK JTAG-Takt
TMS JTAG Test Mode Select
Test Selects test mode for JTAG pins on Port 1
TDI/TCLK JTAG test data input or test clock input during programming and test
TDO/TDI JTAG test data output terminal or test data input during programming and test
RST Reset
GND Gemeinsame Erde

Programmiergeräte

Aus der Vielzahl von Programmiergeräten möchte ich nur zwei – die ich selber auch öfters genutzt habe – hervorheben:

  • Launchpad EXPG2
  • MSP-FET430UIF

Launchpad EXPG2

launchpad exp430g2

Mit dem Launchpad kann der Anwender nur über Spy-bi-Wire den MSP430 Programmieren. Dafür ist die alternative sehr günstig (unter 10€). Das Launchpad ist eigentlich eine Entwicklungplatine. Zusätzlich kann das Launchpad erfreulicher Weise jedoch auch zum Programmieren von externen Mikrocontroller genutzt werden. Ich empfehle diese alternative nur zum  Einstieg und für private Zwecke. Professionelles arbeiten ist zwar möglich aber sehr mühsam.

MSP-FET430UIF

Deutlich stabiler ist der JTAG-Programmer, ein Beispiel für so einen ist der MSP-FET430UIF von TI für etwa 105 €. Die Abbildung zeigt die Pinbelegung des Programmers. Beachte der schwarze Pfeil zeigt den ersten Pin an.

Pin-Out JTAG-Programmer MSP-FET430UIF

Die JTAG-Schaltung fürs Programmieren der Mikrocontroller sieht dann ähnlich wie in Abbildung 3 aus. Im Datenblatt unter „Pin Description“ können die Informationen zur der MSP430-Grundschaltung eingesehen werden.

MSP430 Programmieren - Beispiel für JTAG-Grundschaltung

Entwicklungsumgebung

Es gibt sicherlich noch mehrere Entwicklungsumgebungen – als die zwei hier vorgestellten – um die MSP430 programmieren zu können. Mit beiden habe ich aber sehr gute Erfahrungen gemacht, wobei ich die eine Professionell und die andere IDE privat nutze.

IAR Embedded Systems

Als IDE wird die kostenlose Kickstartversion von IAR Embedded Workbench vorgestellt. Diese kann für Projekte bis 8 kB frei benutzt werden. Wer Programme größer als 8 kB benötigt muss sich eine Lizenz erwerben. Ich selber nutze die lizensierte Version.

Entwicklungsumgebung IAR Embedded Workbench

Zum Download einfach die IAR-Seite besuchen.

Eine kleine Einführung in IAR Embedded Workbench bietet der nachfolgende Link an:

Code Composer Studio

Vollständig kostenlos dagegen ist der Code Composer von TI, um diesen zu installieren muss man sich jede glich bei TI kostenlos anmelden.

 

Code Composer Studio

Zum Download die Texas Instrument Seite besuchen:

Schreibe einen Kommentar

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

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.