Forum: Mikrocontroller und Digitale Elektronik Entwicklungsumgebung für MSP430


von Matthias W. (matt007)


Lesenswert?

zum Thema Entwicklungsumgebung für MSP430 ist schon einiges gesagt 
worden. Im Artikel https://www.mikrocontroller.net/articles/MSP430 
finden sich Hinweise.

Es gibt das CC-Studio von TI, es gab den MSPGCC. 2008 hieß es noch: 
"Hallo, gibt es eine Alternatve zum CodeComposer Essentials?". Seitdem 
sind 8 Jahre vergangen.

Ist das Studio von TI mit dem neuen GCC-basierten Compiler für MSP430 
mittlerweile so ausgereift daß man sagen kann - es macht Sinn damit 
einmal zu arbeiten?

Oder ist es besser sich mit den anderen Ansätzen zu beschäftigen?

: Bearbeitet durch User
von Georg G. (df2au)


Lesenswert?

Matthias W. schrieb:
> Oder ist es besser sich mit den anderen Ansätzen zu beschäftigen?

Vor einigen Monaten stand ich vor dem gleichen Problem. Mir gefällt die 
IAR Workbench besser. Intuitiv zu bedienen ist sie auch nicht, vieles 
ist arg versteckt. Aber sie funktioniert hinreichend stabil.

von Matthias W. (matt007)


Lesenswert?

Georg G. schrieb:
> Vor einigen Monaten stand ich vor dem gleichen Problem. Mir gefällt die
> IAR Workbench besser. Intuitiv zu bedienen ist sie auch nicht, vieles
> ist arg versteckt. Aber sie funktioniert hinreichend stabil.

Danke Georg für die Einschätzung !

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Je nachdem, welchen MSP430 Du Dir ansehen willst, und auf welchem 
Niveau, könnte auch "Energia" etwas für Dich sein. Das ist das 
"Arduino"-System, angepasst für einige MSP430-Varianten, unter anderem 
auch dem auf dem G2-Launchpad zu findenden 'G2553.

Ein weiterer völlig anderer Ansatz ist die Verwendung von Microsoft 
Visual C++ (Community Edition oder "größer", nicht Express) zusammen mit 
Visual GDB Embedded.

http://visualgdb.com/?features=embedded

Wenn man die MS-Entwicklungsumgebung eh' gewohnt ist, kann das eine 
interessante Alternative sein.

von Matthias W. (matt007)


Lesenswert?

Danke Rufus für den Hinweis auf Energia.

Mir sagt die "primitive" Umgebung die ich von WinAVR her kenne mit dem 
Make-File zu, weil das recht schlank ist, bisher brauchbar war und ich 
damit gut arbeiten kann.

Die MS-Umgebung bin ich nicht gewohnt.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Was Energia einem (unnötigerweise) verbaut, ist die Möglichkeit des 
Debuggens, aber das dürfte Dich als AVR-Anwender nicht so schwer 
treffen.

Anders als beim AVR ist beim MSP430 jedes Programmierinterface 
(abgesehen vom BSL) auch ein Debuginterface; von der Anwenderseite 
verhalten sich 4-Draht-JTAG und 2-Draht-SBW identisch, man kann 
Breakpoints setzen, Speicherinhalte und Register ansehen etc.

Das bietet die "Arduino"-Welt halt auch nicht.

Noch ein genereller Tip: Wenn Du Dich mit der Peripherie eines 
MSP430-Exemplars beschäftigen willst, besorg' Dir unbedingt die 
Codebeispiele von TI für genau diese Familie. Das Portieren von I/O-Code 
zwischen unterschiedlichen Varianten kann sehr problematisch werden, 
insbesondere, wenn ältere MSP430 aus der vor-SBW-Zeit dabei sind.
Das betrifft insbesondere die seriellen Schnittstellen (asynchron, SPI 
und I2C).

Anders als beim AVR gibt es zwei Dokumente, mit denen Du Dich gut 
vertraut machen musst, das individuelle Datenblatt und den zugehörigen 
"Family User's Guide".

von Matthias W. (matt007)


Lesenswert?

Vielen Dank Rufus !

Den JTAG-Adapter für den Parallelport habe ich und eine 
Experimentierplatine von Olimex auch.

Ist halt die Frage ob ich mich an den "alten" MSPGCC halten soll oder ob 
es Sinn macht etwas Neueres zu nehmen. TI hat ja mit RedHat hier etwas 
Neueres aufgesetzt. Der Code scheint größer. Für meine Beispiele sollten 
die vielen kB die der Chip hat auf jeden Fall reichen.

Ich möchte einen Chip nehmen der zumindest einen DAC hat. Leider gibts 
die wohl nicht in DIL-Gehäusen. Egal. Das wird auch so gehen.

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Matthias W. schrieb:
> Den JTAG-Adapter für den Parallelport habe ich

Von allen Möglichkeiten ist das die schlechteste. Einerseits setzt sie 
PC-Hardware mit dem antiquierten Frickelport voraus, und 
Betriebssysteme, die das unterstützen, und andererseits beherrscht das 
Ding nur 4-Draht-JTAG, was insbesondere bei kleineren Controllern viele 
I/O-Pins blockiert.

Einen DAC gibts im DIL-Gehäuse in der Tat nicht, der ist überhaupt bei 
neueren Varianten selten geworden. Vermutlich hast Du ein 
Experimentierboard für einen der veralteten und völlig überteuerten 
'F14x, 'F15x oder 'F16x.

Ich halte es für vergebene Liebesmüh, in diese Teile noch irgendeinen 
Aufwand zu stecken.

DIL-Gehäuse sind rar; der 'G2553 ist der größte allgemein verfügbare 
MSP430 im DIL-Gehäuse (20 Pins, 512 Bytes RAM; 16 kByte Flash und per 
SBW ohne Pinverlust ansteuerbar), nur auf Umwegen im DIL-Gehäuse zu 
bekommen ist der 'G2744 (40 Pins, 1 kByte RAM, 32 kByte Flash).

Beide sind mit dem spottbilligen G2-Launchpad programmierbar, zu dessen 
Anschaffung anstatt des Frickelportadapters ich Dir dringend rate.

Ich weiß, daß Du gerne mit antiquierter Hardware herumspielst, aber das 
ist Masochismus. Überflüssiger Masochismus.

von Matthias W. (matt007)


Lesenswert?

Rufus Τ. F. schrieb:
> Von allen Möglichkeiten ist das die schlechteste.

aus Deiner Sicht magst Du recht haben.

> Einerseits setzt sie
> PC-Hardware mit dem antiquierten Frickelport voraus, und
> Betriebssysteme, die das unterstützen, und andererseits beherrscht das
> Ding nur 4-Draht-JTAG, was insbesondere bei kleineren Controllern viele
> I/O-Pins blockiert.

das ist alles richtig.

Daher wollte ich auch gerne so ein 2-Drahtinterface nutzen. Dazu hatte 
ich den EZ430 USB-Stick. Nur leider war das vor allem frustran. Das 
Laden/Debuggen/Starten klappte nicht brauchbar. Deshalb habe ich das 
Ding dann schließlich entsorgt.

> Einen DAC gibts im DIL-Gehäuse in der Tat nicht, der ist überhaupt bei
> neueren Varianten selten geworden. Vermutlich hast Du ein
> Experimentierboard für einen der veralteten und /völlig überteuerten/
> 'F14x, 'F15x oder 'F16x.

ja.

> Ich halte es für vergebene Liebesmüh, in diese Teile noch irgendeinen
> Aufwand zu stecken.

Von der Bastelei mit Sachen die vor allem stressen habe ich die Nase 
voll. JTAG funktioniert normalerweise - auch wenn es Pins frisst. Da es 
im DIL-Gehäuse keine DACs gibt muss ich ohnehin das große Gehäuse 
nehmen. Da herrscht dann kein Mangel an Pins. Ich brauche dann zwingend 
eine Platine wo die großen Teile draufpassen - egal ob F16x oder F26x 
etc.

Natürlich ist mir eine höhere Taktfrequenz als 8MHz recht. Irgendwo habe 
ich noch Teile liegen mit DAC. Die würde ich erst mal gerne nehmen weil 
es kein extra Geld kostet.

> DIL-Gehäuse sind rar; der 'G2553 ist der größte allgemein verfügbare
> MSP430 im DIL-Gehäuse (20 Pins, 512 Bytes RAM; 16 kByte Flash und per
> SBW ohne Pinverlust ansteuerbar), nur auf Umwegen im DIL-Gehäuse zu
> bekommen ist der 'G2744 (40 Pins, 1 kByte RAM, 32 kByte Flash).

Danke. Die würde ich ja gerne nehmen - wenn da ein DAC drauf wäre. 
Leider ist das eben nicht so.

> Beide sind mit dem spottbilligen G2-Launchpad programmierbar, zu dessen
> Anschaffung anstatt des Frickelportadapters ich Dir dringend rate.

ein Launch-Pad aus der ersten Serie für DIL habe ich. Das würde ich 
gerne nehmen. Nur habe ich dann eben den DAC nicht.

> Ich weiß, daß Du gerne mit antiquierter Hardware herumspielst, aber das
> ist Masochismus. Überflüssiger Masochismus.

Masochismus hasse ich. Daher habe ich den EZ430 schließlich entsorgt. 
Ich habe nichts gegen die Idee statt dem JTAG-Parallelkabel auch ggf. 
ein USB-Ding anzuschaffen. Nur warum soll ich das tun wenn ich
+ das Parallel-Adapter-Kabel schon habe
+ den Laptop mit Parallel-IO habe
+ es offenbar Treiber gibt mit denen das unter Win7 stabil läuft.

Geld ausgeben für Sachen die dann womöglich wieder stressen mag ich 
nicht.

von Georg G. (df2au)


Lesenswert?

Matthias W. schrieb:
> Den JTAG-Adapter für den Parallelport habe ich

Bitte berichte doch, wenn du das zum Laufen bekommst. Ich bin unter XP 
damit nur auf die Nase gefallen und habe mir dann den FET430UIF in China 
besorgt. Der läuft problemlos, naja, fast :-)

von Wolle G. (wolleg)


Lesenswert?

Georg G. schrieb:
> Matthias W. schrieb:
>> Den JTAG-Adapter für den Parallelport habe ich
>
> Bitte berichte doch, wenn du das zum Laufen bekommst. Ich bin unter XP
> damit nur auf die Nase gefallen

Was interessiert Dich dabei konkret?
Ein JTAG-Adapter für den Parallelport als Eigenbau läuft bei mir 
problemlos.

von Georg G. (df2au)


Lesenswert?

wolle g. schrieb:
> Was interessiert Dich dabei konkret?

Ich habe mit keiner Soft Verbindung bekommen, weder der Code Komposter 
von Texas (Version 3 und 6 getestet) noch IAR noch der Olimex Prommer 
wollten.

Welche Schaltung hast du nachgebaut?

von Matthias W. (matt007)


Lesenswert?

Georg G. schrieb:
> Bitte berichte doch, wenn du das zum Laufen bekommst.

das mache ich gerne. Welche Entwicklungsumgebung würdest Du denn an 
meiner Stelle installieren? Ich hätte ja nichts gegen etwas 
Vergleichbares wie Winavr zum MSP. Nur gibt es da was? Der alte MSPGCC 
wird wohl nicht mehr sehr aktiv genutzt? Der neue ist nur noch über den 
TI-Pfad verfügbar? Macht es einen Sinn die IDE von TI zu nehmen oder 
gibt es einen besseren Plan?

von Wolle G. (wolleg)


Angehängte Dateien:

Lesenswert?

Georg G. schrieb:
> Welche Schaltung hast du nachgebaut?

Im Anhang die verwendete Schaltung. Läuft mit MSPGCC und IAR

von Harald N. (haraldn)


Lesenswert?

Wenn du eh das Launchpad hast kannst du ja dieses als Programmer 
hernehmen.

von Christian R. (supachris)


Lesenswert?

Die Entwicklung des alten MSPGCC wurde zugunsten dieser unified 
Architektur aufgegeben. Es gab dann einen "normalen" GCC der durch 
uniarch auch MSP kann (den man jetzt auch in CCS runterladen kann). Aber 
selbst mit dem Code Composer Essentials Compiler verglichen ist das der 
totale Frickelmurks. Bedingt durch die gcc Universalität kann der nur 
aufgeblasenen Code erzeugen. Alleine aus einem Byte Zugriff auf ein 16 
Bit Register macht der 8 Rotier Befehle. Optimierung Fehlanzeige.
Wir sind dann für kleine Sachen beim 16k CCS geblieben und haben für 
größere Projeke eine CCS Volllizenz. Kostet ja auch nur 500€.
Die Eclipse Umgebung ist etwas träge aber dafür halt sehr universell, 
und der TI Debuger da drin funktioniert sehr gut und halbwegs 
komfortabel.

von Matthias W. (matt007)


Lesenswert?

Christian R. schrieb:
> Die Entwicklung des alten MSPGCC wurde zugunsten dieser unified
> Architektur aufgegeben.
> totale Frickelmurks. Alleine aus einem Byte Zugriff auf ein 16
> Bit Register macht der 8 Rotier Befehle. Optimierung Fehlanzeige.

Vielen Dank Chris für die Einschätzung.

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.