Eclipse und make

Gast #4024860
Lesenswert?

Hallo !

Ich möchte erstmals Eclipse für gcc-arm-none-eabi verwenden.
Ich habe ein vorhandenes make File für ein projekt und kann dieses 
problemlos in einer cmd Shell übersetzen.

Dieses Makefile will ich nun einfach aus Eclipse aus aufrufen.
Ich verwende gnu make und habe den Pfad gesetzt. Ebenso habe ich für 
gcc-arm-none-eabi den Pfad gesetzt.

Nun sehe ich, dass man unter den Projekteigenschaften "Builders" setzen 
kann: Hier gint es vordefinierte Builder "CTD Builder" sowie "Scanner 
Configuration Builder".
Muss ich diese deaktivieren und stattdessen einen eigenen Eintrag 
erstellen? Es funktioniert eigentlich, nur bekomme ich einen Fehler bei 
"Problems", denm ich mir nicht erklären kann: Wieso will der Übersetzer 
g++ bzw. gcc verwenden? Das kommt in meinem Makefile nirgends vor?

Wo trete ich mir das ein?


Danke und Grüße,
Michael
Angehängte Dateien:
Gast #4025088
Lesenswert?

Ich denke ich habe es hingebracht. Der Haken ist, dass ich nicht weiß, 
was ich eigentlich tue - und das mag ich gar nicht...

Beim Anlegen des Projekts gibt es gleich am Angang eine Auswahl wie im 
Bild. Ich habe augewählt: "None", da ja das make und die darin 
aufgerufene Toolchain (der arm-gcc compiler) am PC als Programm 
installiert ist. Was würde es bedeuten, hier z.B. "Cross GCC" 
auszuwählen? Ich habe das prinzipielle Problem, das Konzept von Eclipse 
nicht zu verstehen: Einerseits ist eine ganze Menge irgendwie 
vordefiniert, andererseits steht hinter dem Aufruf eines Compilers doch 
nur ein Executable.

Wie mache ich das "richtig", wenn ich ein vorhandenes make + Makefile 
verwenden will ?
Angehängte Dateien:
#4025095
Lesenswert?

Michael W. schrieb:
> Ich "muss" eclipse verwenden, möchte hier aber nicht über das "warum"
> diskutieren, sondern die Konfiguration zum Laufen bringen.

Dann mußt Du - wenn ich mich recht erinnere - ein neues, leeres 
Makefile-Projekt anlegen und dabei den Pfad zu deinem existierenden 
Projekt angeben (nicht unbedingt intuitiv, aber so isses halt). U.u. 
noch in den Build Settings den make-Prozess anpassen.
#4025161
Lesenswert?

Michael W. schrieb:
> Was würde es bedeuten, hier z.B. "Cross GCC"
> auszuwählen? Ich habe das prinzipielle Problem, das Konzept von Eclipse
> nicht zu verstehen: Einerseits ist eine ganze Menge irgendwie
> vordefiniert, andererseits steht hinter dem Aufruf eines Compilers doch
> nur ein Executable.

Es gibt auf der Welt wahrscheinlich nur wenige Leute die Eclipse 
verstehen, deshalb mach Dir nichts draus.
Das Auswählen der Toolchain hilft Eclipse beim Drumherum.
Eclipse ruft nicht nur das Makefile auf, sondern analysiert danach die 
Ausgabe des Compilers, springt zur Fehlerstelle usw.
Dazu braucht Eclipse Informationen über den Compiler.
Wählt man die Toolchain "Cross GCC", dann sollte eigentlich in den C++ 
Settings ein Reiter auftauchen, der es erlaubt, dass Prefix des 
Compilers (arm- avr- usw) einzustellen. Beim Makefile Projects ist der 
Reiter jedoch fälschlicherweise deaktiviert, sodass man trotzdem nichts 
einstellen kann.
Deshalb lasse ich die Toolchain immer auf <none>, es ist dann trotzdem 
der Parser für GCC und ähnliche Compiler aktiviert und das Springen zum 
Fehler klappt trotzdem.

So wie ich CDT verstanden habe, verwendet es sogenannte "builder" um 
bestimmte Aufgaben zu erledigen. Z.B. das Erzeugen eines Makefiles, das 
Parsen der Outputs, das Bestimmen der eingebauten Makros usw.
Diese Builder setzen auf generische Informationen über die Tools auf, 
und die GCC Tools sind vordefiniert/eingebaut.
Gast #4026090
Lesenswert?

Ich habe die Toolchain nun erfolgreich eingebunden und kann übersetzen.

Wie kann ich nun den GDB in das Eclipse einbinden?
Ich habe einen Segger-Jlink, der mit dem GDB über einen Port 
kommuniziert. Ich kann damit gdb aus einer command-shell aufrufen und 
debuggen. Wie bringe ich das aber Eclipse bei?
Gast #4026845
Lesenswert?

Ich habe es nun mit Segger JLink hingekriegt. Was mich verwirrte war der 
Hinweis auf ein Eclipse "Hardware Debug" Plugin. Was ist das denn 
eigentlich? Beides kann in einer Debug Configuration als GDB 
Schnittstelle verwendet werden. Wodurch unterscheidet sich das Segger 
Plugin von letzterem?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren