Forum: Mikrocontroller und Digitale Elektronik Einstieg in MSP430 von TI


von Klaus Liebler (Gast)


Lesenswert?

Hallo zusammen,

nach langem Hin- und her habe ich mich entschieden, den MSP430 als Basis 
für meine ersten Microcontroller-Experimente zu verwenden (die 
Debugging-Möglichkeit über JTAG war ein ausschlaggebender Grund). Da ich 
armer Student bin, möchte ich auf lange Sicht OpenSource-Software zur 
Entwicklung meiner Appliationen verwenden. Mir ist allerdings noch nicht 
wirklich klar, war ich denn so brauche. Bis jetzt habe ich mir das 
folgendermaßen zusammengereimt (Bitte um Berichtigung).

Zum Schreiben meiner Programme verwende ich einen gewöhnlichen 
Text-Editor. Für die C-Programmierung nehme ich im Moment Dev-C++  - ich 
denke, den Editor kann man entsprechend anpassen, dass er MSPGCC direkt 
ansteuern kann, oder? Hat da schon jemand Erfahrungen gemacht?

Wie auch immer - nach dem Kompilieren und Assemblieren liegt mir das 
Programm als hex-Datei vor und kann über das JTAG-Interface in den 
Flash-Speicher eines MSP430 gebrannt werden. Dafür verwendet man das 
Programm C-Spy, welches man bei TI kostenlos runterladen kann (ist 
Bestandteil des Kickstart-Paketes). Natürlich benötige ich auf der 
PC-Seite noch etwas Hardware, um die JTAG-Signale zu generieren. Dazu 
bestelle ich bei Olimex den Programmieradapter für 10 US$ bzw. baue mir 
die dort veröffentlichte Schaltung dieses Programmieradapters selbst 
nach (ich denke, bestellen ist die billigere und sichere Lösung). Nach 
Abziehen des JTAG-Steckers von meiner Experimentierplatine sollte das 
Programm dann laufen (kann man das auch mit einem Mausklick erledigen?).

Nun sind die wenigsten Programme auf Anhieb fehlerfrei - man muss also 
systematisch die Fehler suchen und eliminieren - das nennt man dann 
"Debugging". Dank des JTAG-Interfaces lässt sich dies recht komfortabel 
realisieren. Über dieses Interface werden nicht nur die Programme ins 
Flash gebrannt, sondern man kann sich darüber auch den Inhalt von 
Registern anschauen und Programme Schritt für Schritt ausführen. 
Allerdings muss dazu das Programm, das in den Chip geschrieben wird, 
etwas modifiziert werden. Dies erledigt der Compiler jedoch automatisch, 
wenn man ihn mit der Option "-g" aufruft. Dieses Programm wird nun "ganz 
normal" ins Flash  des MSP geschrieben. Danach wird die 
Debugging-Software gestartet:

Für das Debugging benötigt man mehrere Komponenten:

- Insight, ein grafisches Frontend für gdb, welchel bei RedHat 
entwickelt wird und als Opensource zur Verfügung steht
- gdb, das GNU Debugging-Programm
- rproxy (spezifisch angepasst für den MSP), das das "gdb-Protokoll" ins 
"MSP430-JTAG-Protokoll" umwandelt und über das selbstgebaute bzw. bei 
Olimex gekaufte JTAG-Interface zum MSP überträgt (ebenso der umgekehrte 
Weg). Damit rproxy das JTAG-Interface am Parallelport ansprechen kann, 
benötigt man noch die Datei "interface.dll", die man hier auf diese Site 
runterladen kann.

In Insight kann man sich nun nach Lust und Laune Registerinhalte 
betrachten + verändern und das Programm auf dem MSP im SingleStep-Modus 
durchlaufen lassen.


Wie gesagt, mir wäre wahnsinnig geholfen, wenn mir jemand bestätigen 
könnte, was ich mir bis jetzt so zusammengereimt habe. Einen 
systematischen Fehler zu finden, ist nämlich ohne die Hilfe anderer sehr 
schwierig...

Vielen Dank für eure Hilfe!

Frohe Weihnachten und vg

Klaus

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Da kann man nur mit einem Wort antworten: ja.

Wenn man die Fragezeichen entfernt könnte man deinen Text komplett als 
Einsteigereinleitung verwenden ;-)

Insight lädt das Programm übrigens automatisch in den Controller, du 
brauchst dann also kein C-Spy mehr.

Gruß
Andreas

von Klaus Liebler (Gast)


Lesenswert?

Danke!

Wenn ich es wirklich schaffen sollte, den MSP zum laufen zu bringen, 
schreib ich vielleicht was ausführlicheres und schicke es euch zu...

Danke erstmal für die Hilfe

Klaus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.