Hi, ich habe ein Problem mit den GNU-Tools zum debuggen des msp430. Konkret: Ich habe Eclipse wie in der Anleitung auf dieser Seite eingerichtet. Das Kompilieren funktioniert problemlos, nur das debuggen funktioniert nicht. Dabei startet der msp430-gdbproxy (unter Windows) problemlos und erkennt das Ziel (msp430f1611). Beim initieren der Debug-Sitzung zeigt das gdbproxy-Fenster auch "connected" o.ä. an. Auf jeden Fall bleibt eclipse dann hängen und gibt nach einiger Zeit eine Fehlermeldung aus... Unter Linux habe ich exakt das gleiche Fehlerverhalten. Dabei funktioniert das herunterladen des Programms mit dem "msp430-downloader.exe" unter Windows einwandfrei. Unter Linux habe ich Versuche mit "ddd" angestellt, hier klappt das herunterladen mittels des entsprechenden gdb-Befehls (wenn auch langsam), nur beim eingeben von "continue" tut sich nichts mehr. Dachte zuerst an ein Problem mit dem Parallel-Port (fest im Laptop installiert), aber sowohl mit dem IAR-Compiler als auch mit dem "TI CodeComposerEssentials" funktioniert das Debuggen absolut problemlos, leider ist mein Programm größer als die freien Versionen dieser Programme es zulassen. Der JTAG-Adapter ist übrigens dieses Standard-FET für den Parallel-Port. Falls jemand eine Idee hat, woran das liegen könnte, wäre ich sehr dankbar... Ist etwas nervig, über 3 LEDs zu debuggen. Mittels Forensuche und Google konnte ich leider keine Lösung finden. Danke & Gruß, Christian
...und gleich noch eine kleine Frage hinterher: Wo kann man denn das Programm "msp430-jtag" für linux finden? Bei meiner mspgcc-distribution war es nicht dabei, und bei einer gerade stattgefundenen google-suche konnte ich es nicht finden. Ich hoffe, ich gehe richtig in der Annahme, daß dies das Programm ist um unter Linux .elf-Dateien in den msp herunterzuladen? Danke, Christian
Hi, so ein Zufall, hatte erst gestern das gleiche Problem. Bei mir schien's dran gelegen zu haben, dass ich zu lange Dateipfade, bzw. solche mit Leerzeichen hatte. Als ich dann mal kurz 'ne zweite HD eingebaut hatte (Wollte an der anderen nix rumpartitionieren) und diese als Developing-Laufwerk eingerichtet hatte, ging's plötzlich. Versuch' mal sowas, vlt. liegt's bei dir ebenfalls daran... Zur anderen Frage weiss ich leider nix.
Das kommt bei mir auch mal öfters vor. Schalte zuerst mal die Optimierung ab, also auf -o0, dann Debug auf maximum, und dann gehts eventuell. Wenn man große Datenfelder über den Debugger holen will, oder zuviel optimiert wurde, bleibt er hängen. Es kann aber auch sein, dass du ein großes Array definiert hast, und den WDT nicht VORHER ausschaltest? Das geht mit low_level_init, schau mal in die Appnotes von TI, das ist da beschrieben. Wird das Feld initialisiert und ist größer als 2k, dann schmiert die Kiste ab, weil der WDT dazwischen einen Reset macht.
> Wo kann man denn das Programm "msp430-jtag" für Linux finden? Bei meiner > mspgcc-Distribution war es nicht dabei, und bei einer gerade > stattgefundenen Google-suche konnte ich es nicht finden. Das kannst du über CVS bekommen: $ cvs -d:pserver:anonymous@mspgcc.cvs.sourceforge.net:/cvsroot/mspgcc login $ cvs -z3 -d:pserver:anonymous@mspgcc.cvs.sourceforge.net:/cvsroot/mspgcc co jtag $ cd jtag $ make $ sudo make install $ cvs -d:pserver:anonymous@mspgcc.cvs.sourceforge.net:/cvsroot/mspgcc login $ cvs -z3 -d:pserver:anonymous@mspgcc.cvs.sourceforge.net:/cvsroot/mspgcc co pyjtag $ cd pyjtag $ make $ sudo make install ... oder so ähnlich ... > Ich hoffe, ich gehe richtig in der Annahme, dass dies das Programm ist um > unter Linux .elf-Dateien in den msp herunterzuladen? Ja. Es geht zwar auch über gdb/gdbproxy - das ist aber seehr langsam.
>> Ich hoffe, ich gehe richtig in der Annahme, dass dies das Programm ist um >> unter Linux .elf-Dateien in den msp herunterzuladen? > > Ja. Es geht zwar auch über gdb/gdbproxy - das ist aber seehr langsam. Kommt drauf an. Mit dem TI-USB-FET gehts sauschnell. Mit dem Parallelport-Frickel-Adapter ziemlich lahm...
Hi, vielen Dank für die Hinweise. Am Dateipfad kann es eigentlich nicht liegen, der ist nicht so wahnsinning lang und Leerzeichen hat er auch keine... Aber ich es werde es mal versuchen. Jedoch verstehe ich nicht, was die Partition mit dem Dateipfad zu tun hat?? Die Optimierung hab ich aus, an dem Rest werd ich mal ein wenig rumspielen. Das mit der Größe der Variablen ist ein interessanter Aspekt, ich hab eine Menge globales Zeug. Die Appnote werde ich mal angucken, daß es ein Watchdog-Timer-Problem sein könnte, hätte ich nicht gedacht. Das msp430-jtag werde ich mir wohl runterladen, und über kurz oder lang den USB-JTAG von TI besorgen. Kostet ja nicht die Welt... Ich kann das ganze jetzt leider nicht direkt versuchen, da ich das Zeug nicht hier habe. Werde am Donnerstag mal Bescheid geben, ob es geklappt hat. Nochmals Danke & viele Grüße, Christian
> Das msp430-jtag werde ich mir wohl runterladen, und über kurz oder lang > den USB-JTAG von TI besorgen. Kostet ja nicht die Welt... Lohnt sich IMHO nicht. Wenn man msp430-jtag statt msp430-gdb/msp430-gdbproxy benutzt, geht das flashen über den Parallelport-Adapter auch innerhalb weniger Sekunden satt 20-30 min.
> Lohnt sich IMHO nicht. Wenn man msp430-jtag statt > msp430-gdb/msp430-gdbproxy benutzt, geht das flashen über den > Parallelport-Adapter auch innerhalb weniger Sekunden satt 20-30 min. Also, 20-30mins hat es bei meinen ddd-Versuchen auch net gedauert ;-) Vielleicht so 2. Auf jeden Fall so lange, daß man denkt, es ginge gar nichts mehr...
Hä? Meinen MSP430F1611 flasht der gdb-proxy in ca 10...15 Sekunden über den Paralleport-Adapter. Irgendwas macht ihr falsch. Der msp430-jtag braucht ca 10 sekunden. Programmgröße war ca 25kByte. Über den TI-USB dauerts ca 3...4 Sekunden.
Auch wenn der Thread ein bissl älter ist: Ich hab dasselbe Problem. Hab bis jetzt den Code Composer verwendet und bin nun an das Code Size Limit gekommen. Hab dann gestern versucht den GCC mit Eclipse zu installieren. Hat auch wunderbar geklappt. Der gdbproxy findet mein Device und Eclipse/GCC übersetzt mein Programm perfekt. Wenn ich dann Debuggen will, kommt nach kurzer Zeit eine Fehlermeldung "Target not responding: Timeout" oder so ähnlich. Hab dann über die Konsole versucht eine fertige kompilierte Datei hochzuladen. Selbe Problem. Immer Timeout. In meinem Testprogramm hab ich nur eine Headerdatei drin + Wachhund ausschalten + main mit while. Habt ihr ne Lösung zu dem Problem gefunden?
Welche Version (Datum) der GCC Toolchain hast du? Ich hab mit der vom November 2006 und Februar 2007 arge Probleme. Der USB Debugger schmiert dauernd ab, das Programm läuft entweder gar nicht los, und/oder lässt sich dann nicht unterbrechen. Arbeite mit der Version vom 2.5.2006, da klappt alles.
Habs im Moment grad auch herausgefunden. Aber trotzdem danke. Gut zu wissen, dass die neueren Versionen nicht funktionieren. Hab die Version vom 2.5.2006 installiert und plötzlich ging alles. Ein Traum...hab mich jetzt 2 Tage damit rumgeärgert den GCC zu installieren. Wie kann ich denn Breakpoints setzen? Ich seh zwar rechts oben das Fenster "Breakpoints", aber da kann ich nix setzen und mit rechtsklick auf die Code-stelle finde ich auch keinen Eintrag. Gibt eigentlich eine Möglichkeit zu sehen, wieviel Speicher aufn µC verwendet wird?
Arbeitest du mit Eclipse? Dann kannst du BP setzen, indem du auf diese Leiste links neben den Code-Zeilen doppelkickst. Speicher anzeigen geht mit: msp430-size --target=elf32-msp430 filename.elf
Okay klappt perfekt. Hab nur noch ein Problem: Wenn ich debuggen möchte und in eine Funktion reinsteppe, dann kommt Fehlermeldung. Die Funktionen sind in einer zweiten c-Datei deklariert und über einen Header in Main eingebunden.
1 | while(1) |
2 | {
|
3 | XAxis = SCA3000E05_AXIS_READ(0x05); //Hier kein Step in die Funktion rein |
4 | fXAxis = SCA3000E05_CONVERT2FLOAT(XAxis); //Ebenso |
5 | |
6 | for (i = 0x2FFF; i > 0; i--); |
7 | }
|
Was für eine Fehlermeldung denn? Bei sehr komplexen Funktionen in Unterprogrammen ist der Debugger manchmal überfordert. Ebenso bei eingeschalteter Optimierung....
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.