Forum: Compiler & IDEs MSPGCC: Neue Version, Probleme mit Eclipse


von Christian R. (supachris)


Lesenswert?

Seit ein paar Tagen gibts ja endlich mal eine neue Version des MSPGCC. 
Ich hab sie mal ausprobiert, allerdings kann ich aus Eclipse heraus ein 
laufendes Programm nicht unterbrechen. Wor kann das liegen? Debuggen an 
sich klappt, einzig komisch ist, dass dieses Cygwin Geraffel den 
Lookup-Path erst mal nicht findet. Muss man ihn mit der Nase drauf 
stoßen. Breakpoints anspringen geht auch, aber wenn ich auf Pause 
drücke, passiert nix. Kommt auch im Verbose-Mode keine Ausgabe des 
msp430-gdb.

Kann da jemand helfen? Wäre ja gut, wenn man die aktuellen Chips auch 
benutzen könnte.

Achso: Ich nutze Win XP SP2, Eclipse Europa 3.3.2 mit CDT 4.03 und den 
original TI-USB Debugger.
Mit der Version von Mai 2006 klappt´s bestens, nur die aktuelle macht 
Probleme.

von Raphael R. (raphael)


Lesenswert?

Hallo Supachris,

Wenn Du die Antwort selbst nicht kennst, dann verspricht das nichts 
Gutes! Hast du das Problem des Anhaltens mittlerweile gelöst? Wenn ja 
beschreib doch bitte wie!

Wenn nicht: Hast du das Problem nur in Kombination mit Eclipse oder auch 
wenn du über die Kommandzeile arbeitest?

Liebe Grüße
Raphael

http://develissimo.net

von Christian R. (supachris)


Lesenswert?

Nee, Konsole hab ich bisher nicht getestet, ich bin Mausschubser. Aber 
könnte ich mal machen, da muss cih mir erst mal die GDB-Kommandos 
raussuchen...*grummel*

von Christian R. (supachris)


Lesenswert?

So, hab mal getestet. Im reinen GDB scheints zu klappen. Jedenfalls kann 
ich ein laufendes Programm mit Strg+C unterbrechen. Dann muss es ja 
irgendwie an Eclipse liegen. Haben die das MI-Protokoll irgendwie 
geändert oder was? Ich hab alle Angebote von Eclipse durchprobier: 
Cygwin, Standard, Windows, jeweils MI, MI1 und MI2. Keine Änderung.
Am 29.5. gabs ja gleich nochmal eine neue Version, die vom 21.5. ist 
schon wieder verschwunden. Aber keine Besserung zu erkennen. Neues CDT 
gab´s auch nicht....schon komisch. Aber zumindest kann die neue Version 
For-schleifen debuggen. Ein Fortschritt :)

von Christian R. (supachris)


Lesenswert?

So....mit der aktuellen Test-Version vom 3.6. klappt´s theoretisch 
wieder mit Eclipse. Aber dafür zickt der Compiler offensichtlich rum. 
Die haben irgendwas an den StartUp Codes geändert, bei mir hängt der 
sich immer auf beim Löschen der BSS Section. Ich denke mal, der Watchdog 
funkt dazwischen, ein deaktivieren mit:
1
void __low_level_init(void)__attribute__((__naked__, __section__(".init3")));
2
3
void __low_level_init(void)
4
{
5
  WDTCTL = WDTPW+WDTHOLD;    //Sitz....gib leise.
6
}

hilft leider nicht (mehr).
Naja, mal schauen, wann es wieder eine funktionierende Version gibt.

von Christian R. (supachris)


Lesenswert?

So, Chris Liechti war fleißig und hat die Fehler behoben. Jetzt klappts 
mit der aktuellen Test-Version vom 5.6.2008 in Verbindung mit Eclipse. 
Allerdings gibts einige Pferdefüße zu beachten.

Die gdb-ini Datei muss geändert werden. Nur noch folgendermaßen:

target remote localhost:3333
set remoteaddresssize 16
set remotetimeout 9999999
monitor erase main
load D:/MSP430/GCC/xxx/Debug/xxx.elf

Wichtig ist der absolute Pfad für das Elf-Image, sonst wird nix in den 
Flash geschrieben.

Desweiteren muss der Interne Builder verwendet werden, make ist ja nicht 
mehr inbegriffen.

Eventuell selbst angepasste Linker-Scripte müssen geändert werden, die 
haben eine neue Syntax jetzt.

Getestet unter Windows XP. Am Wochenende schau ich mal, ob´s unter Vista 
auch klappt.
Viel Spaß!

von Christian R. (supachris)


Lesenswert?

So. Klappt auch unter Vista einwandfrei. Absolute Pfade für die 
Elf-Datei sind doch nicht notwendig, nur muss es ein richtiger Slash 
sein, kein Backslash, wie bei den alten Versionen mit CygWin.

von Raphael R. (raphael)


Lesenswert?

@Chris

Du bist eindeutig ein Pro, was soll ich noch dazu sagen? Wuerde mich 
freuen, wenn wir Dich baldigst auch als Tester für die Linux-Version 
begeistern könnten. Könnte auch dir Vorteile bringen, denn ich schätze 
Dich als Non-Gamer ein. Kauf Dir ne Spielkonsole wenn du gamen willst. 
Ist ja eh schon fast alles Kompatibel! trau Dich mal

Liebe Grüße
Raphael

von Christian R. (supachris)


Lesenswert?

LOL. Nee, ganz bestimmt nicht. Erst wenn´s einen Treiber/Lib für den 
olimex USB Debugger gibt. Mein Rechner hat keinen Par-Port mehr, und den 
Olimex hab ich da. Und auf Arbeit spielt Linux keine Rolle. Ich hab ja 
einen Linux Server hier noch, der macht für mich Internet verteilen, 
Mail-Server, Homepage, VDR...
Aber mein "Arbeits"- System bleibt Windows.

von Raphael R. (raphael)


Lesenswert?

tja das stört mich auch. Derzeit läufts auf Grund der Treiber/so's 
(dll's) nur mit dem TI USB FET. Das liegt vorallem daran, dass sich die 
Leute bei Olimex vorallem auf die EPAs (die 
EinkommensProduzierendenArbeiten) konzentrieren.

Soviel zur angepriesenen Kompatibilität und 100%tigen Übereinstimmung 
der OLIMEX USB Programmer MSP430-jtag-tiny und MSP430-jtag-iso.
Aber angeblich sind sie ja deutlich schneller als die von TI.

Nur bringt das der Linuxwelt leider auch nicht viel.

liebe Grüße
Raphael

von Christian R. (supachris)


Lesenswert?

Ja, der JTAG Tiny ist viel schneller als der original FET. Allerdings 
eben ohne Optokoppler und sonstige Schutzmaßnahmen.

Aber ich denke mal, dass die wenigsten, die den MSP430 produktiv 
einsetzen, Linux am Laufen haben. Das werden wohl hauptsächlich die 
Privatanwender und vielleicht Unis sein.

Ich arbeite im Institut ja auch viel mit dem MSP430, da nehme ich 
ebenfalls Eclipse und MSPGCC, einfach weil die Eclipse viel mehr 
Erweiterung-Möglichkeiten hat als IAR. Sonst hätt ich schon längst den 
IAR bestellt.

Nun ja, also ich kann und will nicht zu Linux wechseln, werde die 
Windows Versionen aber weiterhin gerne benutzen.

von Raphael R. (raphael)


Lesenswert?

ich konnte und habe zu Linux gewechselt!

schon vor Jahren ;-)

von odic (Gast)


Lesenswert?

Wenn ich mich da mal in euren Dialog einklinken darf....

Ich habe ebenfalls schon vor Jahre zu Linux gewechselt, und besitze 
mittlerweile bereits seit ca. 3 Jahre keine Windowsinstallation mehr. 
Allerdings möchte ich hier keinesfalls einen Glaubenskrieg vom Zaun 
brechen. Immerhin besitzen beide Betriebssysteme bzw. das damit 
verbundene Arbeiten ganz klare und objektive Vor- und Nachteile. An 
Tagen wie heute wünschte ich sogar, ich hätte noch irgendwo eine 
Windows-CD rumliegen... ;-)

@Raphael:
Ich vermute mal du hast den msp430-gdb unter eclipse (unter Linux) 
laufen, oder? Ich kann zwar auf der Konsole wunderbar debuggen, unter 
eclipse erhalte ich allerdings immer folgende Fehlermeldung:
1
294-gdb-set auto-solib-add on
2
&"No symbol \"auto\" in current context.\n"
3
294^error,msg="No symbol \"auto\" in current context."

Mein gdbinit sieht folgendermaßen aus:
1
set remoteaddresssize 64
2
set remotetimeout 999999
3
set download-write-size 512
4
set remote memory-write-packet-size 512
5
set remote memory-write-packet-size fixed
6
set remote memory-read-packet-size 512
7
set remote memory-read-packet-size fixed
8
9
target remote localhost:2000
10
11
monitor erase
12
13
load /home/user/MSP430F2131.hex
14
symbol-file /home/user/MSP430F2131.elf


Löschen und Flashen klappt auch, aber danach kommt besagte Fehlermeldung 
und gdb beendet die Verbindung zum proxy. Könntest du mir verraten 
welche Version von gdb bzw. gdbproxy du verwendest? Wenn ich es richtig 
verstanden habe funktioniert ja nicht jede unter eclipse....

Besten Dank im Vorraus,

odic

von Raphael R. (raphael)


Lesenswert?

Also ich verwende den GDB 6.8 derzeit. Aber das tut nichts zur Sache 
denn der Fehler denke ich liegt hier bei Eclipse! Wenns in der Konsole 
klappt, dann funktioniert es unter Eclipse auch.
Hast du Eclipse Europa installiert!? Solltest du nämlich!!!

schau dir mal mein Tutorial an

www.develissimo.net

Da ist alles ausführlich beschrieben.

Liebe Grüße
Raphael

von Christian R. (supachris)


Lesenswert?

Mit der aktuellen Version vom 5. juni 2008 funktioniert das alles. Die 
erste Fehlermeldung hat nix zu sagen, die kommt beim mir auch manchmal. 
Das Beenden der Verbindung nach dem Flashen hatte ich mit den Versionen 
des GDb nach Mai 2006 und vor Juni 2008. Ob das jetzt direkt auf Linux 
übertragbar ist, weiß ich nicht.

von odic (Gast)


Lesenswert?

@Chris:

Ich habe folgende Versionen des msp430-gdbproxy mit dem gleichen 
Ergebnis getestet:

- http://sourceforge.net/project/showfiles.php?group_id=42303
  2006-11-14
- http://www.soft-switch.org/downloads/mspgcc/
  2006-07-08

Weißt du zufällig, woher ich eine ältere Version für linux bekommen 
kann?


@Raphael:

Danke für den Hinweis, ich werde heute abend mal einen Blick in dein 
Tutorial werfen. Installiert habe ich eclipse aus den 
Debian-Paketquellen (lenny). Soweit ich es aber aus dem Kopf sagen kann 
müßte es 3.2.2 sein.


Viele Grüße,
odic

von Christian R. (supachris)


Lesenswert?

Also bei den 2006er Versionen lief das generell nicht oder nicht stabil. 
Gibts denn die aktuelle Version nicht für Linux?

von odic (Gast)


Lesenswert?

Konnte sie zumindest noch nirgends finden. Wobei.... reden wir jetzt 
eigentlich vom gdb oder gdbproxy??

von Christian R. (supachris)


Lesenswert?

Der GDB war immer das Problem. Aber für Windows gibts bei mir immer eine 
setup.exe fg

von odic (Gast)


Lesenswert?

Ok, das heißt ich muß nicht mehr nach einer anderen Version des proxy 
suchen....

Irgendwie beginnt mich das ganze Thema langsam zu nerven. Eigentlich 
wollte ich Applikationsentwicklung betreiben und nicht 
IDE-Reengineering. Ich arbeite ja wirklich zu einem gewissen Grad aus 
Idealismus mit Open Source Software, aber machmal muß man schon arge 
Klimmzüge machen bis alles läuft. Allein bis ich die binutils soweit 
gepatched hatte daß der Linker meinen MSP430F2131 kennt....

Sorry, es soll sich bitte niemand angesprochen fühlen, aber das mußte 
einfach mal raus...

von Gast (Gast)


Lesenswert?

>Ich arbeite ja wirklich zu einem gewissen Grad aus
>Idealismus mit Open Source Software, aber machmal muß man schon arge
>Klimmzüge machen bis alles läuft.

Das Nervige ist ja, dass man sich immer alles zusammensuchen muss. 
Eclipse hier, Plugins dort, Compiler wieder an einem anderem Ort. Dann 
ellenlange Anleitungen, die sich meistens auf ältere Versionen beziehen. 
Ist es eigentlich generell unter OpenSource so schwierig, eine Komplette 
Lösung anzubieten mit einer kurzen knackigen Anleitung, wo welche Pfade 
gesetzt werden müssen (falls dies nicht über die Enviroments automatisch 
gemacht werden kann).

Ich habe über 2 Wochen benötigt, um Eclipse mit dem MSP430 und Debugger 
zum laufen zu bewegen. Den Debugger verwende ich eh nicht mehr. Das 
kaputte Ding gehört in die Tonne. Als Debugausgabe habe ich entweder ein 
Display oder die RS232-Schnittstelle.

von Christian R. (supachris)


Lesenswert?

Jo, unter Linux scheint das noch bissl grauenhaft zu sein. Unter Windows 
installiert man das MPSGCC Paket, installiert Eclipse und das PlugIn und 
dann klappts prinzipiell schon. Klar, sonderlich komfortabel ist das 
Erstellen eines neuen Projektes nicht, aber wenn man das einmal 
durchhat, kann man gut arbeiten. In der aktuellen Version ist auch der 
GDB endlich mal stabil. Bisher keine Abstürze mehr.

von odic (Gast)


Lesenswert?

Jetzt muß ich mal blöd fragen... welches Plugin? CDT?

von Christian R. (supachris)


Lesenswert?

odic wrote:
> Jetzt muß ich mal blöd fragen... welches Plugin? CDT?

Nee, CDT ist bei Eclipse Europa ja dabei. Das hier: 
http://homepage.hispeed.ch/py430/mspgcc/index.html

von odic (Gast)


Lesenswert?

@Gast:

Ich denke, man muß hier immer nach den Ursachen fragen. Es gibt viele 
gute OpenSource Projekte die auch gut strukturiert sind und hinter denen 
einiges an Man-Power steht.
In diesem Fall ist einfach die Konstellation ungünstig. Manche 
Komponenten die man benötigt werden noch voll weiterentwickelt, andere 
ruhen (oder sterben?) gerade, manches muß gepatcht werden (siehe 
binutils), ...

Hinzu kommt, daß fast alle Teile die man benötigt von unterschiedlichen 
Personen / Gruppen entwickelt werden: binutils + patches, gcc + port + 
patches, eclipse + (embedded)CDT, gdbproxy inkl. TI-Geraffel, ....

Ich persönlich finde die wichtigste Information in einem Tutorial immer 
diejenige welche mir sagt, welche Version von was womit zusammenspielt. 
Das Ganze drum herum (Optionen, Pfade, ...) ist nice-to-have, aber das 
würde man zur Not auch durch das Studium von Man-Pages und ähnlichem 
selbst hinbekommen.

@Chris:

Ich werde das Plugin mal ausprobieren. Wobei sich mir auf den ersten 
Blick nicht erschließt, wofür man es benötigt....

von Raphael R. (raphael)


Lesenswert?

Ich werd Euch jetzt mal was erzählen :-)

Das das ganze so ist wies ist, dafür sind die von Texas Instruments 
verantwortlich. Kein Wunder, sie haben eine sagen wir mal Tochterfirma 
die da IAR entwickelt, jedoch weil es sich auch gut macht Open Source zu 
unterstützen tun Sie es. Jedoch nur halbherzig!
Trotzdem sind die Open Source Entwickler so gut, dass es sich lohnt 
damit zu arbeiten. Denkt Ihr wirklich das IAR Zeugs ist tatsächlich aus 
anderem Holz geschnitzt!? In Wirklichkeit haben die Teile die selbe 
Basis. Ist meistens so. Die IAR kochen auch nur mit Wasser!

Das Problem bei der MSPGCC Toolchain ist, dass das ganze sehr 
unübersichtlich ist. Grund dafür ist, weil es eigentlich nur einen Core 
Entwickler gibt der das ganze betreibt. Er bräuchte ein Team, aber so 
wie ich das jetzt mitbekommen habe, ist der Typ selbst Texas Instruments 
Mitarbeiter, es scheint als wollen die TI Leute den Ball flach halten um 
ordentlich Kohle mit IAR Embedded Workbench zu machen. (verständlich)
Jedoch nicht mit mir ;-) denn wie Ihr auf meiner HP sehen könnt, läufts 
unter Eclipse ordentlich und sauber.

Hat zwar ne Ewigkeit gedauert, aber wenn man weiss wies geht, dann 
läufts ganz gut. So wie Chris schon sagte!

Und zieht mir ja nicht über Open Source her, ich gebe zu bezüglich der 
MSPGCC Toolchain ist die Arbeit heavy, aber ich schreibe euch hier von 
einem Ubuntu Betriebssystem und das ist der HAMMER.
Die ganze kommerzielle Software hat gravierende Schattenseiten. 
Lizenzurwald ohne Ende. Und wenn mal eine Firma pleite geht, dann geben 
Sie trotzdem sehr oft das Kochrezept nicht preis. Wenn bei einem Open 
Source Projekt mal einer keine Lust mehr hat, na dann machen eben andere 
weiter! Ich liebe Open Source. Ich finde die MSPGCC Toolchain jedoch 
auch umständlich. Aber der Grund ist, eigentlich ist es ja keine Open 
Source, sondern Closed Source und da müssen wir uns bei TI beschweren.

Ein Open Source Entwickler der mit Freude nach der Arbeit 4 Stunden 
arbeitet bringt um einiges mehr weiter, als irgend ein bezahlter 
Nasenbohrer der 8 Stunden in der Arbeit auf den Feierabend wartet! Ist 
übertrieben, aber ich denke Ihr versteht wie ichs meine.

Freue mich über Eure Meinungen / Berichtigungen.

Liebe Grüße
Raphael

von odic (Gast)


Lesenswert?

Hallo Raphael,

ist doch immer wieder eine interessante Diskussion, wenn auch schon 
hunderte Male im Netz geführt.

Ich hoffe ich konnte verständlich machen, daß ich bei OpenSource 
prinzipiell sehr differenziere. Ich habe selbst schon mehrere meiner 
Projekte veröffentlicht und kann daher nachvollziehen, welchen 
Pflegeaufwand dies nach sich zieht. Auch hat man nicht immer genügend 
Zeit (und manchmal auch Lust) die teilweise an Unverschämtheit grenzende 
Anspruchshaltung der Nutzer zu befriedigen.

Leider wird OpenSource häufig als eine Art Glaubensfrage disskutiert und 
das halte ich persönlich (obwohl ich auch ein OpenSource-Fan bin) für 
wenig sinnvoll. Es gibt sowohl aus Entwicklersicht als auch aus 
Nutzersicht sehr plausible Gründe sowohl für als auch gegen OpenSource. 
Ebenfalls existieren viele professionell entwickelte OpenSource-Produkte 
genauso, wie es eine Unmenge Schrott in diesem Bereich gibt. Der Begriff 
OpenSource sagt lediglich etwas über die Quellen, sowie teilweise etwas 
über Verbreitungswege und Lizenzmodelle aus, aber in keinem Fall etwas 
über Produktqualität (Code-Qualität, Kompatibilität, 
Benutzerfreundlichkeit, usw.).

Im Falle des MSPGCC stehen einfach zu viele Entwicklungen bzw. 
Interessen einer einheitlichen und vor allem einfachen Nutzung im Wege. 
Das hat aber (mal abgesehen von irgendwelchen lizenzrechtlichen 
Geschichten bei TI) nichts mit OpenSource zu tun. Es steht einfach kein 
ökonomisches Interesse dahinter welches für einen gewissen Zug sowie die 
nötige Koordination sorgt. (Ohne jetzt behaupten zu wollen daß dieser 
bei proprietären Lösungen immer existiert.) Auch sage ich gar nicht daß 
das so gut oder schlecht ist, es ist einfach Fakt.
Ich bin froh daß es diese Lösungen gibt und nehme den Aufwand teils aus 
finanziellen und teils aus idealistischen Gründen in Kauf.

Was man hingegen vielen kommerziellen Lösungen zugute halten muß ist die 
Integration der Komponenten und die einfache Installation. Woher 
Compiler, Debugger, Hardwareabstraktion oder GUI beim IAR kommen kann 
ich natürlich nicht nachvollziehen. Allerdings kann ich (nach 
rechtmäßigem Erwerb) einfach eine CD einlegen und das Teil installieren. 
Genauso wie bei Tasking, Cosmic, Greenhills, CodeComposer, Lauterbach 
oder wie sie alle heißen. Ich habe beruflich verschiedene andere 
Compiler und Entwicklungsumgebungen im Einsatz und muß leider sagen, daß 
deren Anschaffungskosten teilweise geringer sind als das was die 
Inbetriebnahme des MSPGCC gekostet hätte, wäre es nicht nicht meine 
Freizeit gewesen. (Wobei ich auch noch die so lange für eine 
Inbetriebnahme gebraucht habe wie in diesem Fall. Und es läuft immer 
noch nicht.... :-( )

Patchen ist eine feine Sache wenn man es KANN, aber unheimlich lästig 
wenn man es MUSS.

In diesem Sinne einen schönen Tag,

odic

von Raphael (Gast)


Lesenswert?

ja sehr oft geführt. Ich hab mich hinreissen lassen :-)
Wie auch immer, bei mir läufts sehr gut. Bin sehr froh
ohne IAR auszukommen. Es sieht auch noch GUI-mässig sehr schön aus.
Gefällt mir. Eclipse ist mächtig und es ist klasse, da ich alles
Programmiertechnische mit Eclipse erledige. C, Java, MSPGCC etc...

Ich stimme Dir im Großen und Ganzen zu, jedoch was Du bezüglich der
Kosten geschrieben hast ist relativ zu sehen. Denn kannst Du das System 
einmal installieren, dann wirst du es "vermutlich" auch die nächsten 
Male bewältigen. => Lizenzgebühren werden nicht nur einmal fällig, 
sondern meist bei jeder "neuen" Version. Somit können je nach Anwendung 
die Kosten der aufwändigeren Installation langfristig doch gegen fast 
NULL berechnet werden.
OpenSource ist an einem Level angekommen, ab dem man tatsächlich gut 
damit arbeiten kann. Macht richtig Spaß und begeistert.

Ganz toll!!! Schöne Sommertage
Raphael

von Andi (Gast)


Lesenswert?

Hallo!

Wollte heute die neue Version von mspgcc 2008 testen. Hab erst die 
Version vom 15.06. und dann die vom 05.06. probiert, allerdings klappt 
das nicht so richtig.

Ich bekomme in der Console folgende Fehlermeldung:
warning: Remote failure reply: E00

Im msp430-gdbproxy (USB) Dos-Fenster bekomme ich diese Meldung:
debug: MSP430_Breakpoint(ADD)
debug: Set breakpoint in BP reg 0 to 0x2c42
debug: MSP430_RUN()
error: msp430: Could not run device (to breakpoint)(17)

Eigentlich sollte der Debuger bei main halten, tut er aber nicht. 
Ansonsten sind keine Breakpoints oder der gleichen gesetzt.

Im Debug Fenster bekomme ich noch ein "neues" Register: 2 
InterruptVectors() 0x0000ffff
mit dem Text: No source available for "InterruptVectors()"
Das hatte ich aber glaub bei der 2006er Version auch schon und hat nicht 
weiter gestört.

Der Source Code lies sich mit der Version von 2006 einwandfrei debugen. 
Daran sollte es also nicht liegen.

Woran kann es liegen? Hatte jemand einen ähnlichen Fehler?

Ich verwende den MSP430x149 und den OLIMEX USB-Tiny mit der Treiber 
Version 1.12. Diese Kombination hat wie gesagt mit der mspgcc von 2006 
funktioniert. Olimex Treiber habe ich auch in den Bin Ordner kopiert.

In den Einstellungen habe ich nen Internen Builder ausgewählt.

Eclipse Version: 3.2.2

Danke schon mal!

Gruß Andi

von Christian R. (supachris)


Lesenswert?

Wird das Programm geladen? Im Gegensatz zur alten version von 2006 
müssen die Pfadnamen in der gdb-ini Datei jetzt / statt \ haben.
Und einige remote Befehle versteht der nicht mehr. bei mir sieht das nur 
noch so aus:

target remote localhost:3333
set remoteaddresssize 16
set remotetimeout 999999
monitor erase main
load Debug/Test.elf

Funktioniert mit dem USB JTAG TINY von Olimex unter Vista Business 32 
Bit, Eclipse Europa 3.3.2 einwandfrei und schnell. Die allerneuste 
Version vom 19.6. kannte ich noch gar nicht, gleich mal testen....

Edit: Die MSPGCC Verison vom 19.6. funktioniert genauso gut bei mir. 
Eben getestet.

von Andi (Gast)


Lesenswert?

Hi!

Danke, fehler gefunden! Ich hatte den \ in der gdb-ini nicht auf / 
geändert! Jetzt läuft es ebenfalls. Werde dann auch wieder auf die 
neuere Version umsteigen.

Wo kann man eigentlich nachlesen welche Derivate alles unterstützt 
werden?

Was mich allerdings noch interessieren würde, bei der IAR KickStart 
Version konnte man sich die ganzen Register z.B. TACTRL, TAR, TACCRx, 
TAIV, PxOUT usw. anschaun, geht das mit mspgcc auch irgendwie? Das habe 
ich jetzt schon ein paar mal vermisst

von Christian R. (supachris)


Lesenswert?

Einfach bei -mmcu in den Compiler-Settings was unsinniges reinschreiben, 
dann spuckt der gcc aus, welche unterstützt werden.

Solche Register geht leider nicht ganz so komfortabel wie bei IAR oder 
CCE, aber bei Eclipse kannst du einfach bei Watch Expression da oben 
rechts in der Debug-View den Registernamen eingeben, da holt der sich 
den Wert.

von Andi (Gast)


Lesenswert?

Hab bei den Expressions mit "Add Watch Expression" -> TAIV, TAR, TACCR0 
hinzugefügt. Bekomme jedes mal: Target request failed: 
mi_cmd_var_create: unable to create variable object.

P3OUT wiederum funktioniert.

von Christian R. (supachris)


Lesenswert?

Dann musst du mal in die Header-Files gucken, ich glaub die heißen 
minimal anders: TA0CCR0 meines Wissens statt TACCR0.

von Andi (Gast)


Lesenswert?

ok, mit TA0IV und TA0CCR0 geht.

Allerdings steht im Headerfile:
1
#define TAIV                TA0IV
1
#define CCR0                TA0CCR0

verstehe ich nicht ganz warum er dann die "kurzen" schreib weisen nicht 
mag. Im Source Code nimmt er ja CCR0 auch an.

Aber gut, das andere geht.

Danke

von odic (Gast)


Lesenswert?

Nach einigen stressigen Tagen melde ich mich wieder zurück.... leider 
immernoch mit dem selben Problem. Mittlerweile habe ich eclipse auf die 
aktuelle Ganymede upgedated, leider ohne daß dies eine Veränderung 
gebracht hat. Da ich nun die Versionen vor und nach Europa getestet 
habe, vermute ich mal nicht daß es an eclipse liegt. So langsam gehen 
mir die Ideen aus....

von josef (Gast)


Lesenswert?

Re: BTI-CCS 9620 SL Schaltplan gesucht

von Wolfgang-G (Gast)


Lesenswert?

auch ich wollte es mal mit eclipse  + mspgcc versuchen.
zunächst zwei Fragen:
a) was ist der Unterschied zwischen  debug und release
b) was ist ein TCP- Anschluss bzw. wo stelle ich auf  einen 
LPT-Anschluss ein

verwendet habe ich:
eclipse-cpp-ganymede-win32.zip
net.sf.mspgcc.zip
mspgcc-20080605.exe

MfG
Wolfgang

von Christian R. (supachris)


Lesenswert?

Hallo,

also, zwischen Debug und Realease ist kein großartiger Unterschied, 
zumindest nicht in dem Programm, was für den MSP erzeugt wird. Eventuell 
sind im Compiler-Ausgabe-File keine Debug-Informationen enthalten, weiß 
ich aber nicht.

Der TCP-Anschluss ist halt ein Anschluss zur Verbindung zwischen dem 
Deubug-Server (msp430-gdb) und dem Debug-Proxy (msp430-gdbproxy). Da die 
ganze Sache aus der Linux-welt kommt, ist das halt etwas komplizierter.
Im Prinzip ist die Kommunikation folgendermaßen:

MSP430 <---JTAG---> JTAG-Debugger <---LPT/USB---> msp430-gdbproxy 
<---TCP---> msp430-gdb <---> Eclipse.

Du kannst den TCP Anschluss nicht direkt auf den LPT umstellen, da muss 
immer der gdbproxy dazwischen sitzen. Den startest du außerhalb von 
Eclipse über das Startmenü. Der muss auch die ganze Zeit geöffnet sein, 
wenn du Debuggen willst. Nur der versteht JTAG nach unten und die 
gdb-kommandos nach oben hin. Eclipse kann nur mit dem gdb-server 
sprechen.

Übrigens ist die Version des MSPGCC Paktetes nicht funktionsfähig, du 
musst die vom 15.6 oder 19.6. nehmen. Da wo Test dran steht. Die geht 
dann.

von Wolfgang-G (Gast)


Lesenswert?

Vielen Dank für die Beantwortung meiner Fragen. Ich bin jetzt ein Stück 
weitergekommen.
Zunächst habe ich, wie von Dir beschrieben, msp430-gdbproxy gestartet 
und versucht das Programm in den µC zu laden. Nach einer gewissen Zeit 
kam die Fehlermeldung:
MSP430 error: Could not determine device state (18)
Danach habe ich zunächst eine *.elf Datei erzeugt und diese mit
msp430-downloader.exe  in den µC geladen.
Jetzt konnte ich auch mit Eclipse das Programm übertragen und das 
Programm mit Run starten.
Bei Einzelschrittbetrieb kam der Absturz dann aber schon nach 2. oder 3 
Zeile.
Für mich ist das noch nicht das Gelbe vom Ei. Aber vielleicht habe ich 
auch zu wenig Ahnung vom Programmieren.
Diesmal verwendet:  mspgcc-20080619.exe
MfG
Wolfgang

von Christian R. (supachris)


Lesenswert?

Die Fehlermeldung kommt, wenn an der Hardware was nicht stimmt, und die 
JTAG-Verbindung zwischen Debugger und µC nicht OK ist. Das luegt nicht 
am MSPGCC. Ich hab das immer mal bein instabiler Versorgungsspannung 
oder so.
Das Programm kannst du über den GDB beim Start des Debuggen auch 
aufspielen, in der .ini Datei für den GDB ist das der Load Befehl.

von Matthias (Gast)


Lesenswert?

Hallo Christian,

die Bedienung der CCE-Eclipse-Oberfläche von TI
erschien mir benutzerfreundlicher als das,
was man da mit den oft nicht mehr so ganz
zutreffenden älteren Anleitungen zu Eclipse so
zustandebringt.

TI hat mir soeben mitgeteilt, daß es eine
Möglichkeit gibt den MSPGCC GNU Compiler in die
CCE zu integrieren.

Angeblich sei dies im Web zu finden.

Weißt Du oder jemand anders etwas darüber oder
kennst Du den Link?

Gruss
   Matthias

von Christian R. (supachris)


Lesenswert?

Nein, kenne ich nicht. Aber das eigentlich gute am CCE ist ja der 
Debugger und dessen hervorragende Integration in Eclipse. Da könnten 
sich viele eine Scheibe abschneiden (AVR-Studio...). Und das Elf file 
vom GCC wird wohl kaum kompatibel zum COFF-Format des TI-Kompilers 
machbar sein.

von Matthias W. (matt007)


Lesenswert?

Hallo Christian,

hältst Du es für sinnvoll die CCE von TI zu kaufen,
um den ganzen Ärger loszuwerden?

Sicher - es sind ein paar Hundert EUR.
Die sind aber auch weg, wenn man ewig rummacht
und Support hat man bei TI dann vermutlich auch.

Alternativ gäbe es ja noch Crossworks Rowley.

Macht MSPGCC wirklich froh, wenn man die ganzen
Umstände berücksichtigt? Was meinst Du?

von Christian R. (supachris)


Lesenswert?

Jo, also den CCE werden wir wohl auch kaufen demnächst. Kann zwar keine 
64 Bit Variablen, und ist nicht so flexibel, wie der GCC aber wesentlich 
stabilder und effektiver beim Arbeiten. Vom Preis/Leistungsverhältnis 
dürfte das der beste sein.

von T. H. (pumpkin) Benutzerseite


Lesenswert?

Moin,

ist es wirklich so schlimm?

Ich werde demnächst auch etwas größere Sachen mit dem MSP machen und 
wollte hierzu den von mir sehr geschätzten GCC in Eclipse nehmen. Als 
Debugger das USB-Teil von TI. Mal gesetzt den Fall, dass man eine 
saubere bzw. stabile hardwaremäßige Verbindung vom Debugger zum MSP 
bekommt - wo ganau liegen die Schwächen der Toolchain? Ich dachte, dass 
GDB, Eclipse & Co. gut miteinander können...

von Christian R. (supachris)


Lesenswert?

Naja. Stabil ist es schon, zumindest mit der aktuellen Windows-Release 
vom 19.6.2008. Der Kompiler ist super, keine Frage. Aber das Debuggen 
ist halt nicht besonders komfortabel: Der gdbproxy muss immer manuell 
gestartet werden, und quasi im Hintergrund laufen. Klar, kann man in 
Eclipse einbinden, ist aber trotzdem unpraktikabel. Es gibt keinen 
Reset, man muss immer komplett das Debuggen beenden und neu starten, 
dann halt immer mit flash schreiben. Die Projekterstellung und besonders 
die Erstellung einer Debug-Konfig ist alles andere als komfortabel. Es 
gibt keine so schöne Register-Ansicht, wie im CCE. Die Step-Over 
Funktion funktioniert nicht. Variablen zur Laufzeit manuell ändern 
klappt nur manchmal. Es gibt keine Watchpoints. Funktionen im RAM (naja, 
kommt höchst selten vor) lassen sich nur in ASM Debuggen. Aber 
prinzipiell ist es nicht ganz schlecht. Ist halt kostenlos, und wird 
kaum gepflegt. Ein schönes Eclipse-Plugin könnte da viel helfen, aber 
ich hab leider auch keinerlei Java-Ahnung und wie man Eclipse PlugIns 
programmiert, weiß ich auch nicht.
Achja, die neuen MSP430F5xx werden nicht unterstützt. Debugger klappen 
eigentlich alle, ich arbeite zu Hause mit dem olimex USB unter Vista 32, 
auf Arbeit mit dem TI USB unter XP. Klappen beide. Der Olimex ist sogar 
viel viel schneller als der TI-FET.

von T. H. (pumpkin) Benutzerseite


Lesenswert?

Ließt sich ja nicht so schön.

Die Geschichte mit dme Proxy kann man nicht etwa umgehen indem man viele 
der vielen Einstellmöglichkeiten unter Eclipse nutzt (sowas wie 
"Run/Debug Settings" oder "Auto-Launch")? Habe mich noch nicht mit 
beschäftigt, daher die Frage.

von Matthias W. (matt007)


Lesenswert?

Wenn ich mich mit Eclipse wirklich auskennen würde wäre manches 
einfacher.
Dann würde ich vielleicht selbst ein Plugin schreiben.

Eclipse ist nett anzusehen - und es ist/wird eine Art Standard.
Nur leider ist die Unterstützung der einzelnen CPU`s und der Einrichtung 
eines Projekts aus meiner Sicht stark suboptimal. Mit der Anleitung in 
der Hand saß ich da lange bis mal was lief. Wenn ich dann eine neue 
Version erstellen wollte ging der Zirkus wieder von vorne los - ätzend.

Vielleicht liegt es an meinem begrenzten Verständnis der 
Eclipse-Umgebung.

Ein Hersteller wie TI kann da etwas verbessern und ein vernünftiges 
Plugin schreiben, so wie bei der CCE. Man kann allerdings nicht 
erwarten, daß der MSPGCC dann davon unterstützt wird, wenn TI sich 
keinen Nutzen davon verspricht. Vieles wäre anders, wenn die Kunden 
massiv danach fragen würden. Dann ginge da sicher etwas.

Der Kunde will und muss produktiv arbeiten. Also muss TI eine solche 
Umgebung bereitstellen. TI wird sicher auch die neuen CPU`s rasch 
unterstützen, weil das ja im eigenen Interesse liegt. TI will natürlich 
dann Geld für den Compiler, wenn man größere Dinge tun möchte.

von T. H. (pumpkin) Benutzerseite


Lesenswert?

Moin Leute,

ich hatte heute das Vergnügen die Toolchain für den MSP zu testen. 
Leider hat's nicht funktioniert (irgendwie habe ich es geahnt ;^) ). 
Also habe ich einen Schritt zurück gemacht und die Kommandozeile bemüht. 
Bisher hatte ich noch nicht viel Zeit zu fummeln, aber wie es aussieht 
bekommt der Proxy keine Verbindung zum MSP (Windoze, mspgcc-20081230, TI 
USB FET). Ich muss dazusagen, dass ich Spy-Bi-Wire benutze, der Proxy 
scheint es ja auch zu unterstützen. Oder irre ich mich?

  msp430-gdbproxy --debug msp430 --spy-bi-wire

"error: Could not find device" ist die Quittung. Mit der original TI-IDE 
klappts testweise, einen Hardwarefehler schließe ich also aus. BTW: 
Weiss jemand, ob der Elprotronic FlashPro mit den Tools funktioniert?

Cheers
TH

von T. H. (pumpkin) Benutzerseite


Lesenswert?

So:

  msp430-gdbproxy --port=3333 msp430 --spy-bi-wire TIUSB

von Matthias H. (matthias_hartmann)


Lesenswert?

Hallo!
So funktioniert der neue MSPGCC wunderbar mit Eclipse. benötigt kein 
Cygwin mehr, die neueste Version des MSP430-gdb ist für MinGW 
kompiliert.

GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
This GDB was configured as "--host=i686-pc-mingw32 --target=msp430".

Ausführliche Beschreibung:
http://matthias-hartmann.blogspot.com/2009/02/use-...


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

von Gerrit Buhe (Gast)


Lesenswert?

Hallo Matthias,

mit Deiner Anleitung hat es auf Anhieb funktioniert. Vielen Dank für die 
Mühe, die Du Dir gemacht hast, um sie uns zu ersparen!

Schade, daß das Debuggen etwas langsam ist (mit OLIMEX- und TI-USB) und 
vor allem, daß "Step Over" und "Step Return" nicht funktioniert. So muß 
man halt etwas mehr mit einzelnen Breakpoints und "Resume" arbeiten.

Darüber hinaus bin ich aber froh, diese GNU-Lösung zu haben.

Viele Grüße!

Gerrit Buhe

von Matthias W. (matt007)


Lesenswert?

Hallo Gerrit,

schön von Erfolgen zu hören. Kannst Du sagen mit
welcher CPU Du gearbeitet hast?

Matthias

von Gerrit Buhe (Gast)


Lesenswert?

Hallo Matthias,

oje, entschuldige bitte, daß ich Deine Frage erst jetzt realisiere!
Falls es noch interessant ist, die CPUs, mit denen ich gearbeitet habe:

MSP430x1232,
MSP430x2012,
MSP430x1611.

Viele Grüße und entschuldige bitte meine Nachlässigkeit!

Gerrit

von Matthias W. (matt007)


Lesenswert?

Danke Gerrit.

Mittlerweile gibt es von TI ja auch
eine neuere CCE-Umgebung. Dummerweise
fehlt mir momentan die Zeit mich mit
diesen Dingen näher zu beschäftigen,
so interessant das auch wäre.

Matthias

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.