Forum: Compiler & IDEs Vergleich Eclipse <-> Coocox


von Comparator (Gast)


Lesenswert?

Ich würde gerne mal Coocox ausprobieren, habe aber aktuell keinen 
Rechner auf dem wenigstens Win7 laufen würde.
Wenn ich das richtig sehe ist der googlefarbene Schriftzug von Coocox 
kein Zufall... gibt es für Coocox + ARM Toolchain so etwas wie eine 
Projektverwaltung wie bei Visual Studio? Laufen damit die Beispiele von 
ST aus dem Cube Framework? Oder ist das auch alles so hemdsärmlig wie 
Ekelipse mit CDT?

von Bernd K. (prof7bit)


Lesenswert?

Comparator schrieb:
> Laufen damit die Beispiele von
> ST aus dem Cube Framework? Oder ist das auch alles so hemdsärmlig wie
> Ekelipse mit CDT?

Aber das ST-Cube-Zeugs läuft doch mit Eclipse/GNUARM!? Die STM32 
Projekttemplates vom GNUARM-Plugin kommen doch geradewegs von dort!

von holger (Gast)


Lesenswert?

>Aber das ST-Cube-Zeugs läuft doch mit Eclipse/GNUARM!?

Seit wann?

von Comparator (Gast)


Lesenswert?

Dann zeig er mir mal wie man die Projekt-Templates handhabt.

>Aber das ST-Cube-Zeugs läuft doch mit Eclipse/GNUARM!?
Theoretisch ja, praktisch dauert's zwischen einer halben Stunde und 
einer halben Woche bis alle Pfade gesetzt und alles unnötige und doppelt 
vorhandene ausgeblendet ist. Man kommt sich manchmal wie ein 
Anstaltsinsasse vor. Atmel ASF ist noch schlimmer, das geht nur auf der 
Konsole zu kompilieren, 30 Pfade und Abhängigkeiten zu begradigen ist 
eine Arbeit die man höchstens einmal im Leben macht.
Aber das alleine ist es ja nicht. Die schwache IDE kennt kein 'Add to 
Project', keine Kontexthilfe, keine Suchen & Ersetzen über das ganze 
Projekt, kein Intellisens wie Cocoa oder Visual Studio es hat, geht 
dafür aber geradezu verschwenderisch mit den vertikalen 768 Pixeln um 
die ich nur habe. Unten ist eine Statuszeile die vom Platz her drei 
Zeilen hoch ist und nur mit einer beschrieben ist, die Menüleiste ist 
genauso resourcenfressend angelegt. Andauernd muß das Konsolenfenster 
auf und wieder zu gezogen werden.

Hauptsache Eclipse ist laut Webseite 'amazing', 
'collaborative','famous', und 'pretty cool, too'.

Eclipse ist Arduino + Shield. Sonst nichts.

von Bernd K. (prof7bit)


Lesenswert?

Comparator schrieb:
> keine Suchen & Ersetzen über das ganze
> Projekt, kein Intellisens wie Cocoa oder Visual Studio es hat, geht
> dafür aber geradezu verschwenderisch mit den vertikalen 768 Pixeln um
> die ich nur habe. Unten ist eine Statuszeile die vom Platz her drei
> Zeilen hoch ist und nur mit einer beschrieben ist, die Menüleiste ist
> genauso resourcenfressend angelegt. Andauernd muß das Konsolenfenster
> auf und wieder zu gezogen werden.

Du hast scheinbar ein anderes Eclipse aus nem Paralleluniversum, 
hierzulande jedenfalls trifft nichts des obengesagten zu. Oder willst Du 
nur ein bisschen trollen?

> Eclipse ist Arduino + Shield. Sonst nichts.

Tatsächlich ein Troll, und ein schlechter noch dazu, denn ein guter 
Troll sorgt immer für ein Körnchen Wahrheit, nicht so einen vollkommen 
zusammenhanglosen haarsträubenden Stuß.

von Bernd K. (prof7bit)


Lesenswert?

holger schrieb:
>>Aber das ST-Cube-Zeugs läuft doch mit Eclipse/GNUARM!?
>
> Seit wann?

Seit die STM32-Templates für neue Projekte 1:1 der STM32-CMSIS und der 
STM32-HAL des cube entnommen sind und diese verwenden.

Probiers aus: Mach ein neues Projekt wit dem GNUARM-Wizard und Du 
bekommst ein Etwas das 100% STM-HAL-verseucht ist und für das Setzen 
eines Portpins 4 kB Orginalcode aus dem Cube-Hal reinzieht.

Natürlich kann man das Eclipse/GNUARM auch ohne diesen ganzen Ballast 
für STM32 nutzen, auch für beliebige andere Controller mit beliebig 
strukturieren Projekten, schließlich ist es ja immernoch eine universell 
verwendbare C/C++ IDE.

von holger (Gast)


Lesenswert?

>>>Aber das ST-Cube-Zeugs läuft doch mit Eclipse/GNUARM!?
>>
>> Seit wann?
>
>Seit die STM32-Templates für neue Projekte 1:1 der STM32-CMSIS und der
>STM32-HAL des cube entnommen sind und diese verwenden.

CubeMx erzeugt aber keine Projektfiles die man direkt mit
Eclipse verwenden kann. Deshalb meine Frage "Seit wann?".
Mein letzter Stand sind Projektfiles für Atollic, Keil,
und noch einer der mir gerade entfallen ist.

Den erzeugten Code in Eclipse zum laufen zu bringen ist
immer ein aufwendiger Bastelkram.

von Jens E. (surfjenser)


Lesenswert?

Da die Basis von Atollic TrueStudio aber Eclipse ist, kann man gut 
dessen Projektfiles nehmen

von Comparator (Gast)


Lesenswert?

Bernd K. (prof7bit) schrieb:
>Du hast scheinbar ein anderes Eclipse aus nem Paralleluniversum,
>hierzulande jedenfalls trifft nichts des obengesagten zu. Oder willst Du
>nur ein bisschen trollen?
Meine persönliche M>einung: Der Begriff 'Troll' hat sich m.M. nach über 
die letzten Jahre deutlich ins Positive verschoben. Diejenigen die die 
Fakten bringen sind die Trolle, die anderen - häufig gesellschaftlich 
eher Linke - diffamieren und plärren lautstark rum und diffamieren nur. 
Waschweiber, Gewerkschaftsärsche und Low-Performer.
Ich habe die Ist-Situation beschrieben die ich hier habe - nicht mehr 
und nicht weniger. Zeig mir mit einem Screenshot dein Intellisens als 
Schwebetext und deine Bildschirmaufteilung auf nem Laptop mit 1366 x 
(nur) 768 Pixel die dich nicht nervt. Visual Studio hat kleinere 
Schaltflächen für Icons. Ubuntu spart die untere Leiste ein, bei 
Linuxmint geht der Platz leider verloren weil man die Leiste nicht nach 
rechts stellen kann. Nicht jder sitzt vor 27 Zoll.

Jens E. (surfjenser) schrieb:
>Da die Basis von Atollic TrueStudio aber Eclipse ist, kann man gut
>dessen Projektfiles nehmen
Das ist doch mal ein konstruktiver Beitrag. Danke, da werd' ich gleich 
mal graben.

von Steffen R. (steffen_rose)


Lesenswert?

Kein Wunder, dass hier jeder andere Erfahrungen hat, wenn keine 
konkreten Derivate und Versionen genannt werden.

Die Cube Pakete für F0, F1, F4 sind momentan noch recht unterschiedlich. 
Wobei ich bisher mit keinem Probleme beim Import in Eclipse hatte. Die 
paar Verzeichnisse einbinden und die wenigen Include Pfade stellen 
eigentlich kein Problem dar.

Mit Coocox 1.7 hatte ich so auch keine Probleme. Die Beta CooCox 2 nutze 
ich bisher nicht.

Auch von Eclipse gibt es verschiedene Versionen und verschiedene 
voreingestellte Pakete. Hier muss ich zugeben, dass ich immer auf den 
fertigen Paketen aufgesetzt habe.
Generell mag es Eclipse lieber, wenn alle Verzeichnisse unterhalb des 
Projektes sind. Daher lege ich auch Kopien der Cube Sourcen mit ins 
Projekt.

Man sollte sich auch etwas entscheiden, ob man die Pfade im CDT oder in 
Eclipse selbst einstellt. Es wird zwar meist synchron gehalten. Aber 
naja.

Eclipse hat mehr Einstellungen und läßt einen an viele Details heran. 
Entsprechend viele manchmal unübersichtliche Einstellungen und 
Fallstricke gibt es. CooCox verbirgt einem so einiges. Man muß damit 
Leben, was vorgefertigt ist. Entsprechend weniger Einstellungen gibt es 
hier, über die man nachdenken muss.

von Dr. Sommer (Gast)


Angehängte Dateien:

Lesenswert?

Hier ein Screenshot von Eclipse mit
* Funktionierende Code-Vervollständigung ("Intellisense")
* Bildschirm-Auflösung von 1360x768
* Abgeschaltete Statusleiste ( 
http://stackoverflow.com/questions/16186089/hide-status-bar-or-progress-bar-in-eclipse/17027501#17027501 
)
* Selbsttätig ausblendende System-Panels (Linux Mint Mate kann das eben 
doch)

Aber zum Glück kann man sich für wenig Geld sogar Laptops mit Full HD 
(1920x1080) kaufen, auf denen man noch viel mehr auf einmal sieht. Wenn 
alle Entwickler auch nur ein Viertel so viel für ihre Rechner ausgeben 
würden wie Gamer für ihre Heizlüfter, würde keiner über Eclipse 
jammern...

von Comparator (Gast)


Lesenswert?

Laß meine sieben Spacko-Power-Gamer-PCs in Ruhe, ey!

Hmm... gerade mal probiert:
1
RCC->AHB1ENR |=  RCC_AHB1ENR_GPIODEN;
2
3
GPIO_InitTypeDef GPIO_InitStructure;
4
GPIO_InitStructure.Pull = GPIO_PULLUP;
'GPIO_InitStructure' wird nicht vorgeschlagen.
'Pull' wird vorgeschlagen.
'GPIO_PULLUP' wird nicht vorgeschlagen.

Hat das bei dir defaultmäßig funktioniert oder hast du speziell für das 
CDT Plugin noch was nachinstalliert?
Hab hier Kepler, zu alt?

- - - - -

Sooo.
Zeig mir mal zum Vergleichen deine Einstellungen unter:
Window -> Preferences -> C/C++ -> Editor -> Content Assist -> Advanced

Ich hab zum Testen mal alles angeklickt und zur Sicherheit Eclipse neu 
gestartet - keine Veränderung. Vielleicht gib's da eine neu 
hinzugekommene Option die ich nicht habe.

von Steffen R. (steffen_rose)


Lesenswert?

> 'GPIO_InitStructure' wird nicht vorgeschlagen.

Wenn ich es richtig weiß ist für die Vorschläge nicht das CDT, sondern 
der Indexer zuständig.

von Dr. Sommer (Gast)


Angehängte Dateien:

Lesenswert?

Comparator schrieb:
> Hat das bei dir defaultmäßig funktioniert oder hast du speziell für das
> CDT Plugin noch was nachinstalliert?
Ja, das GNU ARM Eclipse Plugin.

Comparator schrieb:
> Zeig mir mal zum Vergleichen deine Einstellungen unter:
> Window -> Preferences -> C/C++ -> Editor -> Content Assist -> Advanced
Da hab ich gar nix geändert, alles Standardeinstellungen.

Comparator schrieb:
> Ich hab zum Testen mal alles angeklickt und zur Sicherheit Eclipse neu
> gestartet - keine Veränderung. Vielleicht gib's da eine neu
> hinzugekommene Option die ich nicht habe.
Dann schau doch mal ob alle Header-Dateien gefunden werden (wenn nicht 
wird beim #include ein Fehler angezeigt), also zb stm32f4xx.h, 
stm32f4xx_gpio.hh, und core_cm4.h . Prüfe außerdem ob du die benötigten 
Makros definiert hast (HSE_VALUE, STM32F40_41xxx, USE_STDPERIPH_DRIVER). 
Die musst du in den Project Properties unter "C/C++ General -> Paths and 
Symbols -> Symbols" definieren, damit sie auch für die .c Files der 
Library gelten. Auch hilfreich: In der Datei, in der die 
Vervollständigung nicht funktioniert, klicke mal auf "Project -> C/C++ 
Index -> Create Parser Log File" und schau dir die Fehler an.

Dass das alles ein bisschen umständlich ist liegt weniger an Eclipse 
sondern mehr an der Standard Peripheral Library mit ihren 95 
include-Verzeichnissen und benötigten Makros. Die können in Eclipse ja 
schlecht als Standardeinstellung eingebaut sein...

(Alles bezogen auf den STM32F4, bei Bedarf anpassen).

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.