Forum: Mikrocontroller und Digitale Elektronik MSP430 Start/Werkzeuge


von Fab F. (fabilous)


Lesenswert?

Hallo,

ich wollte mich demnächst mit dem MSP 430 auseinandersetzen.
Auf einen speziellen Typ will ich mich erst einmal nicht festlegen.

Welche Werkzeuge brauche ich, um ihn zu programmieren bzw mit der 
Entwicklung anzufangen?

Ich habe mich mal ein wenig informiert:

1. MSP-FET430UIF von TI
2. Adapterplatine mit gewünschten µC-Modell von z.B.
    http://shop.embedded-projects.net
oder http://elmicro.com

wäre das schon alles?

Welche Software nehme ich am besten zur Programmierung der Software 
(C-Compiler) und welche zur Programmierung des µC.

Was empfiehlt ihr?
Gibt es evtl auch Entwicklungskits von TI, die aber nicht auf spezielle 
MSP430 Modelle festgelegt sind?

mfG

Fabfili

von Gast (Gast)


Lesenswert?

bei der Hardware kann ich Dir keine große Empfehlung aussprechen da ich 
das FET (Flash Emulation Tool) von TI verwende, der ist zwar sehr gut, 
aber auch recht teuer.

Als software kann ich dir von IAR das Embedded Workbench empfehlen, als 
Kickstart-Edition kann man das bei IAR kostenlos herunter laden - 
Kostenlos bedeutet, du hast eine Codegrößenbeschränkung von 4k was aber 
am Anfang vorerst mal gut reichen sollte!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Besser ist es, die Kickstart-Version von TI herunterzuladen, die muss 
man nicht bei IAR registrieren und man hat das Generve mit der 
Seriennummer nicht.

Eine kostengünstigere Alternative zum Original-TI-JTAG-Interface ist der 
Olimex-Nachbau, der dafür aber auch die Verwendung von Olimex-Treibern 
erfordert.

Die IAR-IDE ist etwas gewöhnungsbedürftig, da sie nur exakt ein 
Sourcecodefenster anzeigen kann (sogenannter "Workbook mode").
Wer den Umgang mit mehreren Fenstern gewohnt ist, der wird mit Rowley 
Crossworks glücklicher, allerdings gibt es hiervon keine kostenlose 
Version.

Die nicht für kommerzielle Produkte verwendbare "personal license" ohne 
jedwede Codegrößenbeschränkung kostet etwas über 100 EUR.

von Fab F. (fabilous)


Lesenswert?

Danke erstmal für die Antworten.

Preise spielen keine Rolle.

Werde dann erstmal die TI Kickstarter Version versuchen.

Wie sieht das mit den debuggen aus? Brauche ich da grundsätzlich nur 
einen Compiler, der dies unterstützt?
---------


Zu meinem 1. Post nochmal:

Ist das an Hardware alles, was ich für den Anfang brauche?

FET + Headerplatine?

oder fehlt noch etwas?

-----------------


Für einige Compiler-/Software-empfehlungen wäre ich noch sehr Dankbar.


mfG


fabfili

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sowohl IAR als auch Crossworks enthalten Debugger, mit denen über das 
JTAG-Interface recht komfortabel "debuggt" werden kann.

von Gast (Gast)


Lesenswert?

nö da fehlt nichts mehr - der FET beinhaltet alles. Meiner geht noch 
über parallel-schnittstelle, es gibt sie aber auch schon für usb.
Dazu dein MSP der eben irgendwo aif ner Platine sitzt - ich bin mir 
nicht sicher was Du als Headerplatine bezeichnest - bitte klär mich auf 
wo die hin kommen soll!?


zum IAR workbenck, ich areite hier mit der Version 2.2x, die hat den 
sch... Workbook mode noch nicht, zur aktuellen Version gibt es nahezu 
keine Unterschiede (außer Vistakompatibilität, buntere buttons...) - 
vlt. findest Du die noch irgendwo im web!?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Eine Headerplatine ist eine kleine Experimentierplatine, auf der der MSP 
aufgelötet ist, die aber bastelfreundlich mit Stiftleisten im 
0.1"-Raster mit Prototypenhardware verbunden werden kann.

Sowas halt:

http://www.olimex.com/dev/images/msp430-h169.jpg

von Stefan (Gast)


Lesenswert?

>Die IAR-IDE ist etwas gewöhnungsbedürftig, da sie nur exakt ein
>Sourcecodefenster anzeigen kann (sogenannter "Workbook mode").
Also mir reicht das für gewöhnlich... aber es gehen auch mehrere 
Fenster:
Menu -> Window -> New (vertical/horizontal) window.
Dann Tabs nach belieben hin- und herziehen
(Kickstart V4.11B)

von Andreas B. (buyman)


Lesenswert?

Kommt auch immer darauf an unter welchem OS du entwickeln willst. Olimex 
JTAG-Tiny läuft zb. nicht unter Linux (soviel zur Kompatibilität). Auch 
hatte ich damit beim Debuggen das eine oder andere Problem.

Im Endeffekt nutze ich jetzt das MSP-FET430UIF in Verbindung mit dem 
CrossStudio - das läuft unter Linux & Windows.

von Christian R. (supachris)


Lesenswert?

Wenn du unter Windows arbeiten willst, und keine Linux-Unterstützung 
benötigst, kannst du den Olimex USB-Debugger kaufen, der ist viel 
schneller als der originale. Macht richtig Spaß. Als 
Entwicklungsumgebung kannst du auch Code Composer Essentials einsetzen. 
Ist am Anfang etwas gewöhnungsbedürftig aufgrund Eclipse, aber wenn 
man´s einmal nimmt, ist es super. Die Register-Ansicht und umfangreichen 
Debugging Möglichkeiten sind super.

von Fab F. (fabilous)


Lesenswert?

Danke für die Antworten.

Dann werde ich den Kram mal bestellen und nen paar Compiler 
ausprobieren.

mfG

von Arno H. (arno_h)


Lesenswert?

Der einzige Adapter, der meines Wissens auch problemlos mit BSL arbeiten 
kann, ist der von elprotronic. Schnell und erhältlich bei 
Elektronikladen.
http://www.elprotronic.com/flashpro430.html
Olimex kann zwar die Security-Fuse brennen, aber dann ist Schluss. Das 
Programm ist auch etwas eigenwillig, was den Installationsort angeht.

Von TI gibts noch eine andere IDE auf eclipse-Basis mit 16kB Code-Größe.
http://focus.ti.com/docs/toolsw/folders/print/msp-cce430.html

Arno

von Peter Diener (Gast)


Lesenswert?

Hallo,

ich hatte genau diese Diskusion mit den benötigten Tools vor etwa einem 
Jahr und hab mir auch das USB-JTAG-Teil von TI gekauft, und zwar das mit 
64-pin qfp-Sockel. Da ist die Kickstart-Edition von IAR als Compiler 
dabei.

Dieser Compiler ist auf 4 kB Outputgröße limitiert, der Linker begrenzt 
das.

Man kann auch den Compiler von TI als Demo verwenden, der ist auch 
limitiert, aber auf 10 kB.

UND WICHTIG:

Der TI Compiler limitiert NUR die Größe des Codesegments, nicht die des 
Datensegments, d.h. du kannst den Prozessor auch bis 120kB mit arrays 
auffüllen, solang der Programmteil kleiner als 10kB bleibt.


Ich bin aber letztenendes auf den MSPGCC umgestiegen, das ist nach 
genauerem Hinsehen einfach viel flexibler.

Ich programmiere mittlerweile nur noch über den integrierten Bootloader, 
nicht mehr mit dem JTAG-Teil. Damit sind die Setupkosten, um damit 
anzufangen nämlich beinahe null, man braucht nur einen Max3232 für die 
Pegelwandlung einer RS-232-Schnittstelle und am Rechner einen Com-Port 
mit dem Programm MSP-FET.

Wer will, kann auch alternativ einen FTDI FT232-RL USB-RS-232 Wandler 
verwenden, da entfällt die Pegelwandlung, der kann direkt 3,3V 
Interface, bei korrekter Beschaltung, siehe Datenblatt. Das hab ich auch 
schon mal realisiert und es läuft hervorragend.

Mspgcc unterstützt seit kurzem alle momentan käuflich erhältlichen 
MSP430.

Als Editor kannst du alles nehmen, womit man Text schreiben kann, ich 
empfehle Programmers Notepad, das kann Syntaxhighlighting (C-Code in 
Farbe). Außerdem kann man damit den Build-Prozess per Button starten, 
wenn einem das besser gefällt.

Ich verwende normal immer eine kleine Batch-Datei, die den Compiler- und 
Linkeraufruf verwaltet, da muss man sich nicht mit Makefiles ärgern.

Bei Interesse kann ich das gerne ausführlicher erklären und auch 
Democode zur Verfügung stellen.

Kurzum: einen MSP430 programmiert man bereits mit Equipment unter 10 
Euro.


Viele Grüße,

Peter

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Ich programmiere mittlerweile nur noch über den integrierten Bootloader,
> nicht mehr mit dem JTAG-Teil.

Das bedeutet, daß Du auf die Möglichkeit des Debuggens verzichtest. Ist 
das wirklich schlau?

von Christian R. (supachris)


Lesenswert?

ALso ich möcht nicht auf den Debugger verzichten. Klar, für 
Serienproduktion kann man den BSL nehmen, aber über JTAG gehts viel 
schneller zu Programmieren. Das schöne am MSP430 ist ja, dass jeder 
Controller debuggbar ist.

von Peter Diener (Gast)


Lesenswert?

Hallo,

ja auf einen JTAG-Degug kann ich verzichten.
Und zwar aus dem ganz einfachen Grund, dass man den eh nur am Anfang 
gebrauchen kann, bis alles Grundlegende läuft. Das funktioniert beim 
MSP430 aber in der Regel gleich auf Anhieb (zumindest bei mir), also 
Clocksystem, Portinitialisierungen usw.

Bei meinen Anwendungen hilft mir ein JTAG-Debug nicht, ich steuere mit 
den Prozessoren Leistungselektronik an, da darf man keinen Breakpoint 
setzen, es muss immer alles laufen, damit nichts kaputt geht.
Bzw. anders gesagt, man darf nicht zum falschen Zeitpunkt anhalten.

Ein Debug ist ja eher dafür interessant, dass man einige Variablen 
beobachten kann und Entscheidungen kontrolliert.
Das kann man über eine RS-232 Schnittstelle genauso, ich hab da immer 
einen kleinen Debughandler drin, mit dem man dann anzeigen kann, was man 
braucht, ohne dass der Prozessor angehalten wird.

Man kann die Pins 1.1 und 2.2 sogar mit den RxD und TxD parallel 
schalten, so dass als Debuginterface der Programmieradapter verwendet 
werden kann.
Debuggen im Betrieb und Programmieren im BSL-Modus beeinträchtigen sich 
dabei nicht, weil immer einer der Ports hochohmig ist.

Ich habe den JTAG-Debugger anfangs benutzt, bin mittlerweile aber der 
Meinung, dass man auf den verzichten kann und baue auch seit längerem 
schon keine JTAG-Stecker mehr auf meine Schaltungen drauf.

Aber selbst, wenn man ihn haben will, geht das auch ohne das teure 
TI-JTAG-Interface, man braucht nur einen Parallelport am Rechner und ein 
paar Schmitt-Trigger für die Pegelwandlung, das funktioniert sogar mit 
der IAR Embedded Workbench, aber natürlich auch mit dem Debugger, der 
beim mspgcc dabei ist.

Und wenns mal wirklich ein hartnäckiges Problem gibt mit dem Prozessor, 
wo man mit RS-232 Debug nicht weiter kommt, hilft meistens der Simulator 
der IAR Workbench.


Viele Grüße,

Peter

von Wolfgang-G (Gast)


Lesenswert?

>aber natürlich auch mit dem Debugger, der beim mspgcc dabei ist.
gib doch bitte mal einen Tipp, wo ich den finden kann.
MfG
Wolfgang

von Christian R. (supachris)


Lesenswert?

Wolfgang-G wrote:
>>aber natürlich auch mit dem Debugger, der beim mspgcc dabei ist.
> gib doch bitte mal einen Tipp, wo ich den finden kann.
> MfG
> Wolfgang

msp430-gdb und msp430-gdbproxy sind die entsprechenden 
Konsolenprogramme, eine grafische Oberfläche gibts z.B. in Eclipse.

von Matthias H. (matthias_hartmann)


Lesenswert?

Hallo!

Hier eine Anleitung, wie man Eclipse und mspgcc miteinander nutzt.

http://matthias-hartmann.blogspot.com/2009/02/use-eclipse-and-mspgcc-easy-way.html

Gruss

Matthias

von Matthias Hartmann (Gast)


Lesenswert?

Der link im letzten beitrag wurde kepappt, daher hier in 2 Teilen
Teil 1 : http://matthias-hartmann.blogspot.com
Teil 2 : /2009/02/use-eclipse-and-mspgcc-easy-way.html

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.