Forum: Mikrocontroller und Digitale Elektronik MSP30 + Olimex JTAG Tiny USB-Programmer Tooling in Win7


von Prof. C. (albert83)


Lesenswert?

Sehr geehrte Community,

ich wende mich an euch, weil ich ein Problem habe das Tooling (IDE, 
Debugger, ...) mit einem MSP430 µC (...F1611) und dem Olimex JTAG Tiny 
USB-Programmer aufzusetzen.

Ich habe eclipse + mspgcc ausprobiert, allerdings habe ich nach 
mehrstündiger Fehlersuche aufgegeben, da ich beim Debuggen einfach zu 
viele Fehlermeldungen bekommen habe (z.B. Device Timeouts oder ... ist 
keine zulässige Win32 Anwendung).

Ich vermute, dass ich mit dem Olimex JTAG Tiny USB Programmer und 
Windows 7 (64bit) einfach nicht kompatibel bin.

Die dazugehörigen Beschreibungen/Dokus sind einfach zu alt (2006). 
Mittlerweile gibt es von Eclipse zig neue Versionen und auch die 
mspgcc-Software ist weiterentwickelt.

Die kostenlose IAR Entwicklungsumgebung ist mit der Codebegrenzung von 
4kB nicht ausreichend für mich, zudem will ich auch nicht so viel Geld 
für die vollwertige Lizenz ausgeben. Das Code Composer Studio von TI 
(v4.2) ist bei mir für das DSK-Board lizensiert und kann nicht für 
MSP430 verwendet werden (auch nicht mit Codebegrenzung).

Nun meine Frage an euch: Gibt es hier jemanden, der erfolgreich eine 
kostenlose Toolumgebung (ohne Codebegrenzung) mit einem MSP430 und dem 
oben genanannten Programmer unter Win7 betreibt?

Ich weiß momentan nicht, was ich noch probieren sollte.

Vielen Dank für eure Unterstützung!

MfG
Albert83

von Christian R. (supachris)


Lesenswert?

Hallo.

Ich kann dich erst mal beruigen. Ich hab die gleiche Kombination und es 
funktioniert alles einwandfrei.
Ich benutze den JTAG TINY unter Windows 7 Professional x64 zusammen mit 
CCE4 und MSPGCC (3 und 4).
Du brauchst auf alle Fälle die aktuellen DLLs von Olimex, die sind im 
Treiberpaket. Außerdem den Olimex Programmer, um die Firmware im 
Debugger zu aktualisieren. Die msp430.dll, hil.dll und die anderen DLLs 
aus dem Treiberpaket kopierst du in das Programmverzeihnis vom Olimex 
Programmer und startest den dann. Danach im olimex Programm auf USB 
stellen und irgendeine Aktion starten. Dann wird die Firmware (in der 
DLL enthalten) auf den Debugger programmiert. Das musst du jedesmal 
machen, wenn du den Olimex Treiber bzw. die DLLs aktualisierst. Firmware 
und DLLs müssen zusammen passen. SOnst gibts eine Fehlermeldung, dass es 
nicht passt.

So, Debuggen mit CCE4 ist einfach: Einfach die o.g. DLLs aus dem 
Treiberpaket in das Verzeichnis C:\Program Files (x86)\Texas 
Instruments\ccsv4\DebugServer\drivers packen (Originaldateien evtl. 
sichern) und dann läuft das.

Beim MSGCC ist es etwas komplexer. Wenn du den mspgcc 4 verwenden 
willst, brauchst den mspgcc 3 trotzdem, denn im 4er ist die 
msp430-gdbroxy.exe nicht entahlten. Die ist aber unbedingt nötig.
Die Verbindung geht so:

[Debugger] - [Treiber] - [Olimex DLLs] - [msp430-gdbproxy] - 
[msp430-gdb] - Eclipse

Die DLLs müssen in das bin Verzeichnis des installierten mspgcc3, am 
besten die Version vom 30.12.2008. Dann kannst du aus dem Startmenü 
schon mal den gdbproxy (USB) starten, und der müsste dann wenn die DLLs 
passen, den MSP430 finden.

Die restlichen Einstellungen in Eclipse sind so, wie in den Anleitungen, 
also GDB Server einstellen beim Debugger, localhost und Port 3333. 
Protokoll auf Mi2 (Windows) und bei der ini für den gdb aufpassen, dass 
nur das Erase und das Load Kommando nach dem target remote 
localhost:3333 steht. Und beim Load muss ein / im Pfadnamen rein, manche 
Anleitungen haben noch den \ drin, ist aber mit den aktuellen Versionen 
des msp430-gdb nicht mehr so.
Übrigens läuft Eclipse Helios nicht richtig unter Windows 7 x64 mit dem 
mspgcc, ich verwende daher noch die Galileo Version, das klappt.

von Prof. C. (albert83)


Angehängte Dateien:

Lesenswert?

Christian R. schrieb:
> Hallo.
>
> Ich kann dich erst mal beruigen. Ich hab die gleiche Kombination und es
> funktioniert alles einwandfrei.
> Ich benutze den JTAG TINY unter Windows 7 Professional x64 zusammen mit
> CCE4 und MSPGCC (3 und 4).
> Du brauchst auf alle Fälle die aktuellen DLLs von Olimex, die sind im
> Treiberpaket. Außerdem den Olimex Programmer, um die Firmware im
> Debugger zu aktualisieren. Die msp430.dll, hil.dll und die anderen DLLs
> aus dem Treiberpaket kopierst du in das Programmverzeihnis vom Olimex
> Programmer und startest den dann. Danach im olimex Programm auf USB
> stellen und irgendeine Aktion starten. Dann wird die Firmware (in der
> DLL enthalten) auf den Debugger programmiert. Das musst du jedesmal
> machen, wenn du den Olimex Treiber bzw. die DLLs aktualisierst. Firmware
> und DLLs müssen zusammen passen. SOnst gibts eine Fehlermeldung, dass es
> nicht passt.

Das habe ich schon gemacht. Das Update hat wunderbar funktioniert.

> So, Debuggen mit CCE4 ist einfach: Einfach die o.g. DLLs aus dem
> Treiberpaket in das Verzeichnis C:\Program Files (x86)\Texas
> Instruments\ccsv4\DebugServer\drivers packen (Originaldateien evtl.
> sichern) und dann läuft das.

Das habe ich auch gemacht, allerdings bekomme ich beim Eintieg in den 
Debugger die folgende Fehlermeldung.

"You are not licensed to use the currently configured connection type".
Ich habe CCS4 für das DSK (DSP Eval-Board) liezensiert. Mit dieser 
Lizenz kann ich nicht gleichzeitig MSP430-Projekte debuggen. Ich weiß 
nicht, ob ich CCS4 begrenzt für MSP430 freischalten kann, aber scheinbar 
nicht. Du nutzt wahrscheinlich CCS4 nur für MSP430 oder hast eine 
Platinum-Lizenz?

> Beim MSGCC ist es etwas komplexer. Wenn du den mspgcc 4 verwenden
> willst, brauchst den mspgcc 3 trotzdem, denn im 4er ist die
> msp430-gdbroxy.exe nicht entahlten. Die ist aber unbedingt nötig.
> Die Verbindung geht so:
>
> [Debugger] - [Treiber] - [Olimex DLLs] - [msp430-gdbproxy] -
> [msp430-gdb] - Eclipse
>
> Die DLLs müssen in das bin Verzeichnis des installierten mspgcc3, am
> besten die Version vom 30.12.2008. Dann kannst du aus dem Startmenü
> schon mal den gdbproxy (USB) starten, und der müsste dann wenn die DLLs
> passen, den MSP430 finden.

Das funktioniert auch -> siehe Screenshot (gdbproxy.jpg).

> Die restlichen Einstellungen in Eclipse sind so, wie in den Anleitungen,
> also GDB Server einstellen beim Debugger, localhost und Port 3333.
> Protokoll auf Mi2 (Windows) und bei der ini für den gdb aufpassen, dass
> nur das Erase und das Load Kommando nach dem target remote
> localhost:3333 steht. Und beim Load muss ein / im Pfadnamen rein, manche
> Anleitungen haben noch den \ drin, ist aber mit den aktuellen Versionen
> des msp430-gdb nicht mehr so.
> Übrigens läuft Eclipse Helios nicht richtig unter Windows 7 x64 mit dem
> mspgcc, ich verwende daher noch die Galileo Version, das klappt.

Das habe ich auch so eingestellt, aber ich erhalte die Fehlermeldung
"Target is not responding (timed out)" (siehe Screenshot error.jpg).

Meine gbd-target.ini sieht wie folgt aus

target remote localhost:3333
monitor erase main
load Debug/Test1.elf

Weißt du woran das liegen könnte?

Danke und Grüße,
Albert83

von Prof. C. (albert83)


Lesenswert?

Wenn ich mir unter Run -> External Tools die MSP430-GDBProxy anschaue, 
dann sieht man, dass ich keine Verbindung aufbauen kann

debug: MSP430_Initialize()
error:     msp430: Could not find MSP430-JTAG on specified COM port. 
(57)
debug: MSP430_Initialize()
error:     msp430: Could not find MSP430-JTAG on specified COM port. 
(57)
debug: MSP430_Initialize()
error:     msp430: Could not find MSP430-JTAG on specified COM port. 
(57)
debug: MSP430_Initialize()
error:     msp430: Could not find MSP430-JTAG on specified COM port. 
(57)
debug: MSP430_Initialize()
error:     msp430: Could not find MSP430-JTAG on specified COM port. 
(57)
...

von Christian R. (supachris)


Lesenswert?

Hm, ist ja seltsam. Ich hab nur den freien CCE nur für MSP430 
installiert. Da klappt das bestens. Ist aber dann wohl kein 
Debuggerproblem. Eher was mit den Lizenzen.
Bei Eclipse und GCC: Was sagt denn der msp430-gdbproxy, wenn du in 
Eclipse das Debuggen startest? Tut sich da was? Da müsste ein Connect 
kommen und viele Meldungen. Wenn nicht, dann ist wohl deine Firwall 
irgendwie so eingestellt, dass die die TCP Verbindung blockiert. Den 
gdbproxy musst du die ganze Zeit offen haben, das machst du, oder? Der 
muss im Hintergrund laufen.

Edit: Ich seh gerade: Du hast im gdbproxy Port 2000 eingestellt und bei 
Eclipse Port 3333, das kann ja nicht klappen.

von Prof. C. (albert83)


Angehängte Dateien:

Lesenswert?

Christian R. schrieb:
> Hm, ist ja seltsam. Ich hab nur den freien CCE nur für MSP430
> installiert. Da klappt das bestens. Ist aber dann wohl kein
> Debuggerproblem. Eher was mit den Lizenzen.

Ich lade mir gerade die Standalone MSP430-Version von CCS (Codegröße 
limitiert) von der TI Seite herunter. Mal sehen ob das dann 
funktioniert.

> Bei Eclipse und GCC: Was sagt denn der msp430-gdbproxy, wenn du in
> Eclipse das Debuggen startest? Tut sich da was? Da müsste ein Connect
> kommen und viele Meldungen. Wenn nicht, dann ist wohl deine Firwall
> irgendwie so eingestellt, dass die die TCP Verbindung blockiert. Den
> gdbproxy musst du die ganze Zeit offen haben, das machst du, oder? Der
> muss im Hintergrund laufen.
>
> Edit: Ich seh gerade: Du hast im gdbproxy Port 2000 eingestellt und bei
> Eclipse Port 3333, das kann ja nicht klappen.

Du hast recht - der Port hat nicht gepasst. Das habe ich korrigiert.
Nun klappt das Deguggen, allerdings wenn ich auf Run klicke, kommt 
wieder eine Fehlermeldung (siehe error2.jpg).

Ich danke dir für die tolle Unterstützung!

MfG
Albert83

von Prof. Chaos (Gast)


Lesenswert?

Hallo Christian,

also "Code Composer Studio v4 Core Edition" funktioniert - bleibt nur 
noch das Problem mit mpgcc und eclipse.

Liegt das eventuell wie du schon geschrieben hast an der helios-Version?
Sollte ich eclipse von galileo ausprobieren?

Danke und Grüße,
Albert83

von Christian R. (supachris)


Angehängte Dateien:

Lesenswert?

Da ist sicher nur was falsch eingestellt. Der denkt, du willst eine 
Windows Anwendung debuggen. Hast du den Standard Process Create Launcher 
eingestellt? Wie auf dem ScreenShot. Kann sein, dass das so ein Helios 
Problem ist, ich hatte damit mehrere Probleme in Zusammenhang mit dem 
MSPGCC.

von Christian R. (supachris)


Lesenswert?

Klappts denn jetzt eigentlich? Erstaunlicherweise läuft bei mir die 
Sache mit Eclipse Indigo wieder problemlos. Wer weiß, was Helios da für 
ein Problem hatte. Nur das Zylin Plugin geht noch nicht für Indigo. Aber 
das braucht man ja eigentlich nicht wirklich.

von Prof. C. (albert83)


Angehängte Dateien:

Lesenswert?

Hallo Christian,

seit dem ich CCS4 installiert habe, funktioniert alles (unter CCS4) 
soweit ganz gut, allerdings habe ich seitdem das Problem, dass ich über 
msp430-gdbproxy nicht mehr mit dem Programmer kommunizieren kann (siehe 
Screenshot).

Weißt du was ich ändern muss, damit das wieder klappt?
Aufgrund dieses Problems funktioniert logischerweise auch das Tooling 
unter Eclipse nicht mehr und ich kann dort nicht weiter nach dem 
ursprünglichen Fehler suchen.

Danke dir!

NfG
Albert83

von Prof. C. (albert83)


Lesenswert?

Ist es eigentlich möglich mit der codebegrenzten Version von CCS4 für 
µCs  (MSP430) Projekte mit mehr Code (>16kB) zu compilieren, um dann das 
Device mit dem Olimex Programmer-Tool zu programmieren? Ich vermute, 
dass nur das Flashen und Debuggen bei Codegrößenüberschreitung 
verhindert wird.

Oder ist das Compilieren auch schon nicht möglich?

Erstellt CCS überhaupt ein .hex-File, das man zum Schreiben über den 
Olimex MSP Programmer benötigt?

Funktioniert das Verfahren mit dem mspgcc+Eclipse Tooling, d.h. Projekt 
"builden" und dann das .hex per Olimex-Programmer schreiben?

Danke euch!

MfG
Albert83

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.