Forum: Mikrocontroller und Digitale Elektronik msp430-gcc, eclipse und debuggen unter Linux


von Klaus (Gast)


Lesenswert?

Hallo,

ich versuche jetzt schon seit ein paar Tagen eine Loesung fuer mein 
Problem zu finden, welches sich wie folgt aeussert:

Ausgangspunkt:
Linux
eclipse 3.3.0
mspgcc-Plugin
msp430-gdbproxy 0.7.1
msp430-gdb 6.0

Problem:
Um mit Eclipse arbeiten zu koennen, habe ich eclipse entsprechend der 
verfuegbaren Anleitungen konfiguiert. Compilieren geht wunderbar. 
Kombination aus gdbproxy und gdb auf der Kommandozeile geht auch 
wunderbar (mit eclipse erzeuge Compilate kann ich ueber die 
Kommandozeile wunderbar debuggen).

Um im gdb nicht zuviel tippen zu muessen habe ich mir eine gdbinit 
geschrieben (mein Projekt erzeugt Debug/Test):

set remoteaddresssize 16
set remotetimeout 999999
set download-write-size 512
target remote localhost:3333
set remote memory-write-packet-size 512
set remote memory-write-packet-size fixed
set remote memory-read-packet-size 512
set remote memory-read-packet-size fixed
monitor erase
load Debug/Test

Auf der Kommandozeile funktioniert das wieder wunderbar, direkt nach dem 
Starten des Debuggers wird automatisch das erase und dann das load 
ausgefuehrt. Anschliessend kann ich ganz normal debuggen.

Jetzt habe ich den Debugger in Eclipse konfiguriert (wieder gemaess 
Anleitung). Die oben abgedruckte gdbinit habe ich in das 
Projektverzeichnis verschoben und in den eclipse-Debuggereinstellungen 
als "GDB command file" angegeben.

Starte ich jetzt den eclipse-Debugger wird erwartungsgemaess zunaechst 
das erase und anschliessend das load ausgefuehrt. Anschliessend meldet 
aber der gdbproxy die Session waere gekillt worden, und darauf meldet 
der eclipse-debugger "Taget selection failed". ein Klick auf "Details" 
offenbart, dass die Connection zum gdbproxy refused wurde.

Der Ausschnitt aus der Ausgabe des gdbproxy schaut so aus:
debug: command 'erase'
debug: executing target dependant command 'erase'
debug: MSP430_Memory(WRITE)
debug: MSP430_Memory(WRITE)
debug: MSP430_Reset(ALL)
debug: MSP430_Reset(ALL)
debug: MSP430_Close()
info:      msp430-gdbproxy: session killed. Will wait for a new 
connection
debug: MSP430_Initialize()
debug: MSP430_Configure()
debug: MSP430_VCC(3000)
debug: MSP430_Identify()
info:      msp430: Target device is a 'MSP430F1611' (type 42)
debug: MSP430_Configure()

Erase und load wurden ausgefuehrt. Entferne ich jetzt den erase und den 
load Befehl aus der gdbinit und starte den eclipse debugger erneut, 
funktioniert alles wunderbar. Fuege ich die beiden Zeilen wieder ein und 
starte den Debugger wird erase und load ausgefuehrt, anschliessend aber 
wieder die Verbindung getrennt.

Ich hab jetzt schon diverse Anleitungen hoch und runterstudiert, aber 
ich kann beim besten Willen nichts finden, was ich noch falsch gemacht 
haben koennte. Am verwunderlichsten finde ich, dass die Konfiguration 
zusammen mit dem Tools auf der Kommandozeile keinerlei Probleme 
bereitet, in eclipse aber nicht funktioniert. Hat jemand eine Idee, 
woran das liegen koennte?

Klaus

von Christian R. (supachris)


Lesenswert?

Genau das gleich Phänomen hab ich unter Windows, wenn ich die MSPGCC 
Toolchain nehme, die neuer als die vom Mai 2006 ist. Das muss irgendwie 
am msp430-gdb liegen. Mit der alten Version klappts.

von Sven S. (badphantom)


Lesenswert?

Christian R. schrieb:
> Genau das gleich Phänomen hab ich unter Windows, wenn ich die MSPGCC
> Toolchain nehme, die neuer als die vom Mai 2006 ist. Das muss irgendwie
> am msp430-gdb liegen. Mit der alten Version klappts.

Siehe: 
http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows

Besonders der Absatz GNU C-Compiler für MSP430

Es muss die ältere Datei msp430-gdbproxy.exe verwendet werden

von Christian R. (supachris)


Lesenswert?

Sven Schaumann schrieb:
> Christian R. schrieb:
>> Genau das gleich Phänomen hab ich unter Windows, wenn ich die MSPGCC
>> Toolchain nehme, die neuer als die vom Mai 2006 ist. Das muss irgendwie
>> am msp430-gdb liegen. Mit der alten Version klappts.
>
> Siehe:
> http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows
>
> Besonders der Absatz GNU C-Compiler für MSP430
>
> Es muss die ältere Datei msp430-gdbproxy.exe verwendet werden

Hast du mal auf das Datum geschaut? Das Problem ist seit Juli 2008 
behoben....

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.