Forum: Mikrocontroller und Digitale Elektronik Verbindung MSP430 mit JTAG über Eclipse oder CCE


von Sebastian U (Gast)


Lesenswert?

Hallo zusammen!

Ich komm momentan überhaupt nicht weiter. Ich habe mir einen JTAG
Adapter über USB gekauft und den Treiber installiert. Ich habe den
MSP430 FW427 und versuche gerade zum ersten Mal eine Verbindung
herzustellen. Ich habe das Tutorium zu Eclipse gemacht aber es will
irgendwie nicht so richtig.

Beim Compilieren bekomme ich einen Fehler:

*** [projekt2.o] Error 1
*msp430x449 0: confused by earlier errors, bailing out
confused by earlier errors, bailing out [(null)]

Ich brauche wahrscheinlich auch noch die Headerdatei aber ich weis
momentan nicht woher.

Ich habe auch den Code Composer Essentials von TI ausprobiert. Dort
habe ich auch die Headerdatei für meinen uC.
Haber dort aber auch einen Fehler bekommen:

Linking failed.

Es kann nicht mehr viel fehlen.
Hat irgendwer Tipps für mich? Des kann doch nicht so schwer sein aber
wenn man das zum ersten Mal macht ... beim AVR ist das bischen
einfacher.

Schon mal Danke

MfG Sebastian

von SupaChris (Gast)


Lesenswert?

Da fehlen wahrscheinlich wirklich die Header.
Poste doch mal deinen Programmcode. beim AVR muss man aber auch den
passenden Header includieren.
Welchen USB Debugger hast du denn? Der Olimex geht anscheinend nicht
mit Eclipse (msp430-gdbproxy). Achja, wenn du dann soweit bist, dass es
kompiliert ist, und debuggen willst, dann muss im Hintergrund immer der
msp430-gdbproxy laufen. Außerdem haben die Eclipse+MSP430 Anleitungen
allei einen Fehler: Beim Dubugger muss natürlich der MSPGCC GDB
Dubugger ausgewählt werden, nicht wie auf den Bildern immer der Cygwin.

von SupaChris (Gast)


Lesenswert?

Achso, die Header kannst du in Eclipse bei Project Properties -> C/C++
Build -> Directories hinzufügen. Üblicherweise ist das:
"C:\mspgcc\msp430\include"
Für deine CPU müsste wohl msp430xW42x.h passen.

von Sebastian U (Gast)


Angehängte Dateien:

Lesenswert?

Danke für die Antwort.

Also es ist der USB Debugger ist von Olimex. Ich habe jetzt mal main()
gepostet aber das ist nicht viel, da ich erst mal das Compilieren
hinbekommen muss. Die Headerdatei müsste passen.
Ich habe auch den msp430-gdbproxy installiert aber momentan bekomme ich
keine Verbindung. Ich habe die gdbtarget.ini auch gepostet die bei dem
Projekt dabei ist.
Bei den Directories hab ich meinen Pfad auch hinzugefügt.

Die Fehlermeldung ist immer noch die gleiche.

Ich lass des jetzt mal stehen aber ich weis jetzt warum er nicht
kompiliert hat.

Habe msp430xw427 statt msp430xW427 in den Properties geschrieben.
Des is doch voll der Witz :)

Naja jetzt seh ich blos noch vor dem Problem, dass ich mit
msp430-gdbproxy keine Verbindung hinbekomm.


MfG Sebastian

von SupaChris (Gast)


Lesenswert?

Wie gesagt, der Olimex geht (noch) nicht mit dem GDB-Proxy. Du kannst ja
mal probieren, die msp430.dll und die hil.dll die du von olimex bekommen
hast, in das /bin Verzeichnis des mspgcc zu tun. Aber wie paar Themen
weiter unten hier zu lesen ist, klappts mit dem GDB nicht. Musst du IAR
nehmen.

Außerdem: Dein Programm wird komplett vom Compiler wegoptimiert. Du
musst deine Schleifenvariable als volatile unsigned int deklarieren.

In den Properties is manchmal bissl komisch. Aber der GCC zeigt doch
bei falsch deklariert an, welche Möglichkeiten du hast. Mal die
Ausschriften in der Konsole lesen ;)

von Sebastian U (Gast)


Lesenswert?

ja ich hab das in der Konsole schon gelesen. Dadurch bin ich dann auch
draufgekommen aber das Problem war so trivial, dass ich da ne weile
gebraucht hab :)

von Sebastian U (Gast)


Lesenswert?

ich hab mir jetzt IAR runtergeladen, ist aber die KickStart Version, und
es läuft auch. Kann compilieren und linken. Wie kann ich jetzt den JTAG
benutzen? Ich hab da nichts bei den Einstellungen gefunden.

MfG

von Jörg S. (Gast)


Lesenswert?

Project -> Options ->
Bei den Einstellungen für "Debugger" von "Simulator" auf "FET
Debugger" umstellen.

Dann auf Project -> Debug und fertig

von Sebastian U (Gast)


Lesenswert?

Oh man des kann doch ned sein. Hab jetzt einiges ausprobiert aber er
stellt keine Verbindung her.

FATAL ERROR
Failed to initialize device.

Session aborted!

Ich hab den Treiber von Olimex drauf, der sollte doch gehen.

von SupaChris (Gast)


Lesenswert?

Aber der MSP hat schon Spannung? Alle Verbindungen zwischen JTAG und MSP
richtig? Besonders Reset richtig angeschlossen?

von Sebastian U (Gast)


Lesenswert?

Ja denk schon. Hab da auf vielen Seiten nachgeschaut. Müsst schon
stimmen. Der Controller hat hald keinen Testanschluss aber der ist ja
anscheinend egal was ich so gelesen hab. Ich habe noch eine LED auf der
Platine die Spannung signalisiert 20mA. Des könnts natürlich auch sein
das der Strom zu viel ist. Muss ich mal rauslöten. VIN ist die
Stromversorgung für die Platine. Den Quarz hab ich an XIN XOUT
angeschlossen 8MHz. Ich kann auch noch einen an X2IN und X2OUT
anschließen.

von SupaChris (Gast)


Lesenswert?

Quarz muss nichtmal dran. Geht auch so, dann läuft der DCO auf ~800Khz.
Aber VIN? Was meinst du damit? Holst du die Betriebsspannung aus dem
USB Debugger? Kann der Olimex das überhaupt? Leuchtet die LED?
Sonst wüsst ich auch nix mehr. Laut Olimex soll der Debugger ja im IAR
gehn.

von Sebastian U (Gast)


Lesenswert?

Es gibt beim JTAG Stecker V-IN und V-OUT laut einigen Seiten. V-IN ist
die Stromversorgung der Platine vom JTAG und V-OUT ist irgend ein
Messpin mit dem man die Spannung der Platine messen kann, versteh ich
aber ned ganz. Bei diesen zwei Anschlüssen werden Jumper gesetzt. Die
LED leuchtet! Im Datenblatt von Olimex steht aber, dass der Stecker nur
wenige mA verträgt.

Fehler ist immer noch der gleiche. Hab jetzt auch noch externe
Stromversorgung angeschlossen.
Was ich nicht versteh, IAR versucht nicht mal richtig die Verbindung
aufzubauen. Die Fehlermeldung kommt sofort nachdem ich den Knopf
drücke.
Was ist eigendlich der richtige Debugger, J-Link oder TI-USB-FET. Die
beiden kann man bei IAR einstellen.

von Sebastian U (Gast)


Lesenswert?

Ich hab noch was komisches gefunden. Ich habe ja nur so eine
Probeversion. Vielleicht liegts ja da dran. Der Fehler wird vom
Emulator ausgelöst steht drüber. Oben in der Menüleiste gibts nen Tab
Emulator und dort kann ich nichts einstellen. Da würd nämlich das Zeug
mit JTAG sync und so drinstehen aber das ist grau. Schaut ganz danach
aus, dass ich da brauche.
Hast du vielleicht einen Link oder eine Software wo das nicht so
eingeschränkt ist?

MfG

von Jörg S. (Gast)


Lesenswert?

Vielleicht sollte man doch erst mal abklären ober der IAR den Programmer
überhaupt unterstützt, oder war das schon klar?

von Sebastian U (Gast)


Lesenswert?

Hallo

Schau mal. Also da stehts schon drin. IAR steht sogar explizit drin.

http://www.olimex.com/dev/index.html

MfG

von SupaChris (Gast)


Lesenswert?

Du musst TI-USB FET einstellen. Das Menü Emulator wird erst verfügbar,
wenn eine Verbindung aufgebaut ist. "Failed to initialize device"
heißt, der kann den Debugger nicht ansprechen, also muss der Fehler
schon weit vorher sein. Hast du wirklich alle Olimex Treiber
installiert? Laut einem anderen hier im Forum gehts ja mit IAR. Auch
mit der Demo. Da kann man alles machen, nur halt auf 4096 Byte
beschränkt.

von Sebastian U (Gast)


Lesenswert?

Leute vielen Dank für eure Hilfe.
Des war eine schwere Gebrut aber jetzt gehts. Endlich! bin so froh.
Der Grund warum es nicht funktioniert hat ist, dass ich die ganzen .dll
von Olimex nicht in den IAR bin Ordner reinkopiert habe.
Jetzt kanns losgehen.

Noch mal Danke!!

MfG Sebastian

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.