Forum: Mikrocontroller und Digitale Elektronik Eclipse + Toolchains für mehrere Controllerfamilien einrichten


von Klaus S. (skibby)


Lesenswert?

Hallöchen zusammen,

ich habe das Problem, dass ich mit mehreren Mikrocontrollerfamilien 
arbeite.
Nun habe ich ein regelrechtes IDE- und Toolchain-Sammelsurium:

RIDE7 für STM32
LPCXPRESSO für LPC1xxx
WINARM + Programmer's Notepad
Code Composer Studio für MSP430
AVR-Studio für Atmel-Controller

ist es sinnvoll (bzw. überhaupt machbar) alle Toolchains in eine einzige
Eclipse-IDE zu integrieren ?

Zumindest meine ARM-basierten Controller möchte ich gerne in einer 
Eclipse-Oberfläche mit einer einzigen Toolchain zusammenfassen.
Nach längerer Recherche im Internet bin ich auf 2 Lösungsansätze 
gekommen:

1. yagarto oder code-sourcery lite, Makefile-basiertes Projekt
2. yagarto oder code-sourcery lite, mit GNUARM Eclipse plugin

Problem: woher bekommt man die Linker-Scripts für die jeweiligen 
Controller ?

Weiteres Problem: jede toolchain macht einen oder mehrere Pfadeinträge 
in den Umgebungsvariablen. Wie stelle ich sicher, dass die jeweilige 
toolchain das richtige make verwendet? (Ich benutze weitere 
Programmierumgebungen wie Borland C++ Builder, die ebenfalls ein make im 
Pfad verewigen )

Für Eure Tipps danke ich schon mal im Voraus !

Klaus Skibowski

von Vlad T. (vlad_tepesch)


Lesenswert?

wenns dir vorrangig um eine einheitliche Bedienung geht:
erstelle und konfiguriere die Projekte in der mitgelieferten IDE und 
setze in deiner LieblingsIDE ein Makefileprojekt auf, was auf dem 
generierten Makefile basiert.
verbiete der IDE irgendwie am Makefile rumzufuschen.

Hat zwar den Nachteil, dass man bei Änderung am Projekt (neues 
SourceFile oder neue Lib) das Makefile in der Originalide wieder neu 
generieren muss, aber das passiert ja nicht so oft.

Ich benutze meist Visual Studio.
Das hat für mich einen kleineren Nerv-Faktor als Eclipse, auch wenn 
manche Features aus Eclipse da auch gern drin hätte

von Klaus S. (skibby)


Lesenswert?

Hallo Vlad,
ich programmiere momentan hauptsächlich mit Visual Studio 2010.
Wie kann man denn das für andere Toolchains konfigurieren ?
Gibt es eventuell eine Anleitung ?

von Oliver (Gast)


Lesenswert?

Klaus Skibowski schrieb:
> ist es sinnvoll (bzw. überhaupt machbar) alle Toolchains in eine einzige
> Eclipse-IDE zu integrieren ?

Wenmn sich die toolchains in Eclipse integrieren lassen, lassen die sich 
auch zusammen verwenden. Ob das sinnvoll ist, musst du selber 
entscheiden. Du kannst alternativ auch Eclipse mehrmals installieren. 
Zumindest das gnu-arm-plugin mit passender toolchain, das avr-plugin mit 
toolchain (und dazu noch ein Windows-gcc) gehen einwandfrei zusammen.

Klaus Skibowski schrieb:
> Weiteres Problem: jede toolchain macht einen oder mehrere Pfadeinträge
> in den Umgebungsvariablen. Wie stelle ich sicher, dass die jeweilige
> toolchain das richtige make verwendet? (Ich benutze weitere
> Programmierumgebungen wie Borland C++ Builder, die ebenfalls ein make im
> Pfad verewigen )

Das bekommst du sauber nur durch umbennenen der einzelnen make-Versionen 
hin. Ansonsten startet immer das erste make im Suchpfad.

Klaus Skibowski schrieb:
> Problem: woher bekommt man die Linker-Scripts für die jeweiligen
> Controller ?

Aus dem Internet, dazu etwas Eigenleistung.

Oliver

von Vlad T. (vlad_tepesch)


Angehängte Dateien:

Lesenswert?

Klaus Skibowski schrieb:
> Hallo Vlad,
> ich programmiere momentan hauptsächlich mit Visual Studio 2010.
ich lieg da noch 5 Jahre zurück

> Wie kann man denn das für andere Toolchains konfigurieren ?
> Gibt es eventuell eine Anleitung ?

aus obigen Grund nur mal ganz grobes vorgehen, da ich den neuen Wizzard 
nicht kenne (und auch den Aktuellen nicht, da ich immer ein Dummyprojekt 
kopiere):

neues Projekt/(general/?)MakefileProject

Man braucht auch nicht unbedingt ein Makefile.
irgend was von der Kommandozeile durchführbares muss es sein

In den Projektsettings muss man dann die nötigen Kommandos für build, 
clean und rebuild einstellen

dazu kann man noch includepfade angeben, die aber "nur" für die 
Syntaxvervollständigung benötigt werden

Außerdem kann man defines angeben, die implizit definiert sind (zB duuch 
compiler, oder im Makefile). Auch dies dient "nur" der richtigen 
Makroexpansion in der Codeansicht.

Meine Projektstruktur sieht normalerweise so aus
.          AVR-Studio projekt files, Visual Studio Solution
.\out      Ausgabeverzeichnis von AVR und Visual Studio
.\src      code
.\vs       Visualstudio projekt und der file krams,
           der erstellt wird, sobald ein VS-Projekt öffnet

im Anhang mal die wichtigsten konfigurations optionen.

die seds pipes sorgen dafür, dass die avr-gcc ausgaben so transformiert 
werden, dass sie im Visual Studio in der Errorlist unter Errors und 
Warnings auftauchen und so klickbar zu machen, um direkt zur Codezeile 
zu springen.
Das funktioniert aber bei Linkerfehlern nicht immer richtig.

Ich kann ja heut abend mal ein gezipptes Basis Projekt posten.
Hab mir allerdings nicht die Mühe gemacht, dass als Visual Studio 
template zu basteln

von Ratgeber (Gast)


Lesenswert?

Klaus Skibowski schrieb:
> Weiteres Problem: jede toolchain macht einen oder mehrere Pfadeinträge
> in den Umgebungsvariablen. Wie stelle ich sicher, dass die jeweilige
> toolchain das richtige make verwendet? (Ich benutze weitere
> Programmierumgebungen wie Borland C++ Builder, die ebenfalls ein make im
> Pfad verewigen )

Kann das gerade nicht nachprüfen, aber wenn ich mich recht erinnere  ist 
es  möglich für jede Toolchain die PATH Variable in Eclipse einzeln 
einzustellen. Dann müsste man nur noch die Toolchains aus den 
Umgebungsvariablen des Betriebssystems entfernen und man hat ruhe.

von Vlad T. (vlad_tepesch)


Angehängte Dateien:

Lesenswert?

Vlad Tepesch schrieb:
> Ich kann ja heut abend mal ein gezipptes Basis Projekt posten.
> Hab mir allerdings nicht die Mühe gemacht, dass als Visual Studio
> template zu basteln

hoffe hab nix übersehen.
die Pfade müssen natürlich angepasst werden

von Klaus S. (skibby)


Lesenswert?

Danke für Eure Antworten !

Ich werde die Variante mit Visual Studio mal probieren und mich parallel 
weiter mit der Eclipse-Umgebung beschäftigen.

Schönes Wochenende !!!

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.