Hallo allerseits, ich versuche schon seit langem mich mal in die Welt des gcc einzuarbeiten. Noch immer scheint mir dies ein verschlossenes Buch zu sein, allerdings konnte ich doch erste Erfolge erzielen. Ich habe Cygwin installiert (bin Windows-Nutzer) und habe Cygwin auch zu den Umgebungsvariablen hinzugefügt. Ich kann nun die ganzen Tools wie make, gcc und so weiter auch schon aus der Kommandozeile verwenden, dass funktioniert alles prima. Jedoch interessiert mich primär das Entwickeln von Embedded Systemen. Hier scheint es ja bezüglich "prebuild" Toolchains eine Menge Auswahl zu geben. Codesourcery oder Yagarto sollen ja beide auf dem gcc basieren. Auch kann/muss ich für beide eigenen Makefiles schreiben bzw. Templates anpassen. Was unterscheidet denn nun solche Toolchains? Mir scheint, dass ich das Prinzip einer Toolchain auch noch nicht ganz verstanden habe. Ist die Toolchain einfach die Reihe aus installierten Programmen, die es mir erlaubt Befehle wie "make" oder "gcc" oder "as" zu verwenden? Wäre dem so, wie kann ich dann mehrere Toolchains gleichzeitig benutzen, ohne mich z.B. an Eclipse zu binden? Also rein aus der Kommandozeile heraus? Er muss ja wissen, wen ich meine? Oder müsste ich dann die Umgebungsvariablen anpassen um immer auf jemand anderen zu zeigen? Dank und Gruss Felix
gcc hat eigentlich ein sehr klares Konzept für Cross Compiler (das der ein oder andere Toolchain-Lieferant aber immer mal wieder kaputt kriegt): Der native Compiler (also der, der Code für den Host erzeugt) heisst einfach "gcc" (man kann ihn aber auch mit Vor- und Nachname ansprechen, s.u.). Der (oder die) Cross-Compiler heissen 'cpu-systemtyp-hersteller'. Also z.B. "i386-linux-gnu-gcc" oder (weniger konsistent) "m68k-elf-gcc", "arm-none-eabi-gcc". Das einzig plattformunabhängige ist der Compiler, der Assembler und die bfd-Tools wie Linker, objdump und objcopy (make und Konsorten passen für alle Zielarchitekturen). Wenn Du mehrere Compiler installiert hast, sollten die Cross-Tools immer mit vollem Namen angesprochen werden (obwohl's auch anders geht, indem man den Suchpfad auf das entsprechende Verzeichnis setzt aber damit kommst Du früher oder später durcheinander).
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.