Forum: Compiler & IDEs Eclipse und make


von Michael W. (Gast)


Angehängte Dateien:

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

von Oliver S. (oliverso)


Lesenswert?

Am besten beim anlegen eines neuen Projektes "makefile projekt" 
auswählen, dann passt alles von Anfang an.

Oliver

von Markus F. (mfro)


Lesenswert?

meine Meinung: am besten Eclipse überhaupt nicht verwenden, wenn man 
nicht muß.

Will man "nur" Makefile-Projekte bearbeiten, ist QtCreator m.E. eine 
schlanke, schnelle und komfortable Alternative.

von Michael W. (Gast)


Lesenswert?

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

von Michael W. (Gast)


Angehängte Dateien:

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 ?

von Markus F. (mfro)


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.

von Klaus F. (kfalser)


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.

von Oliver S. (oliverso)


Lesenswert?

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

Hm. Was genau verstehst du da nicht?

Oliver

von Michael W. (Gast)


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?

von Oliver S. (oliverso)


Lesenswert?

Frei nach einer älteren Rundfunkwerbung:
Übrigens, Mädels, google schreibt man mit zwei o

2 Sekunden googlen wirft das hier als ersten link aus:

https://www.segger.com/IDE_Integration_Eclipse.html

Ganz ehrlich, ARM ist unter Eclipse bestens integriert und und auch 
dokumentiert. Wirf Google an, und fang an zu lesen.

Oliver

: Bearbeitet durch User
von Michael W. (Gast)


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?

von Bernd K. (prof7bit)


Lesenswert?

Installier bitte das GNUARM-Plugin: 
http://gnuarmeclipse.livius.net/blog/

Es ergibt überhaupt keinen Sinn darauf zu verzichten und sich manuell 
mit den Einstellungen von Eclipse herumzuplagen. Und selbstverständlich 
geht das Plugin auch mit nackten makefile-Projekten, ich machs ja 
schließlich genauso.

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.