Forum: Mikrocontroller und Digitale Elektronik "ARM eCross EABI Toolchain für Windows und Linux" Gibt es Erfahrungen?


von tom (Gast)


Lesenswert?

Hallo,

hat von Euch schon mal einer mit der "ARM eCross EABI Toolchain für 
Windows" gearbeitet? Lässt sich die Toolchain in Windows leicht 
installieren und läuft sie auf anhieb richtig? Mich interessieren Eure 
Meinungen dazu.

Gruß

von tom (Gast)


Lesenswert?

Sorry, hier natürlich noch der Link zur Toolchain/Homepage.

http://www.embedded-it.de/bsp/eCross.php

von Sven Wagner (Gast)


Lesenswert?

tom schrieb:
> Lässt sich die Toolchain in Windows leicht
> installieren und läuft sie auf anhieb richtig?
Probier es aus. Kann ja nicht so schwer sein. Yagarto war es jedenfalls 
nicht. Und das basiert ja da drauf.

Grüße
Sven

von Maestro (Gast)


Lesenswert?

Oh Mann, dieser Laden scheint diese üble Schleichwerbung ja echt nötig 
zu haben. Das häuft sich ja in letzter Zeit...

von Michael G. (let)


Lesenswert?

^ Das wäre aber eine schlechte Werbung:

"ARM eCross EABI Toolchain für Windows: In kürze verfügbar..."

Mir ist aber auch nicht ganz klar warum man nicht gleich Yagarto 
verwenden sollte. Also für Windows. Für Linux gibt es Yagarto ja nicht 
bzw. man muss es sich aus den Sourcen selber bauen.

Die "eCross"-Linux Version habe ich mal kurz getestet. So weit keine 
Überraschungen. Ist die gleiche Version (4.5.2) wie bei Codesourcery, 
wobei letztere Variante anscheinend etwas anders konfiguriert ist, 
sprich andere Default-Optionen für den Optimierer hat. Vielleicht aber 
auch zusätzliche Patches.

Größenvergleich in Bytes bei meinem aktuellen Projekt auf dem Tisch:
eCross -O2: 32888
CS -O2: 36020
eCross -Os: 28979
CS -Os: 28567

Etwa 4k davon sind Zeichensätze.

Ein einfacher Performance Vergleich mit einigen GLCD Funktionen ergibt:
eCross -O2: 10.29ms
CS -O2: 9.55ms
eCross -Os: 11.33ms
CS -Os: 10.57ms

Ist ein Cortex-M3.

von tom (Gast)


Lesenswert?

@Maestro: Nein ich mache keine Schleichwerbung. Ich bin nur durch Zufall 
darauf gestoßen.

Mich würde interessieren nur, ob obige Toolchain direkt out-of-the-box 
fehlerfrei läuft.

Yagarto habe ich auch schon gefunden. Ich verstehe nur nicht, wo der 
Unterschied zwischen den beiden Compiler-Versionen ist. Daher würde ich 
mir eine Lösung, die out-of-the-box läuft interessieren.

von Michael G. (let)


Lesenswert?

Da es dieses eCross für Windows gar nicht gibt hat sich das eigentlich 
schon erledigt.

Yagarto tut es eigentlich ganz gut, der GCC 4.6.0 hat aber einen Bug der 
zu einem "internal compiler error" führt. Der Fehler ist bekannt und 
wird/ist in 4.6.1. gefixed. Vielleicht hat Yagarto einen Patch 
eingebaut. Ich habe schon einige Zeit nichts mehr unter Windows gemacht 
und kenne diese spezielle Yagarto Version nicht.

Ich würde aber ohnehin Codesourcery* empfehlen. Die stellen nicht nur 
eine Toolchain zusammen, sondern entwickeln auch selbst am Compiler mit. 
Zumindest am ARM Backend. Die GCCs enthalten also oft Optimierungen die 
erst später in das offizielle GCC Release aufgenommen werden.

Vorschlag falls du das installieren willst: Wähle die minimale 
Installation, lasse die Pfade eintragen aber keine Menüeinträge anlegen 
oder Icons installieren. Doku musst du selber wissen.

Ansonsten sind das beides nur Toolchains. So etwas zu installieren ist 
kein Problem. Das Programmieren nehmen sie dir in keinem Fall ab ;).


*) http://www.codesourcery.com/sgpp/lite/arm/portal/release1802

von tom (Gast)


Lesenswert?

Hab jetzt mal CodeSourcery G++ Lite installiert. In der Kommandozeile 
kann ich den Compiler starten, aber wie gehe ich denn jetzt am Besten 
weiter vor? Ich brauch ja jetzt noch eine Entwicklungsumgebung und so?

von Sven Wagner (Gast)


Lesenswert?

tom schrieb:
> Ich brauch ja jetzt noch eine Entwicklungsumgebung und so?
Ich empfehle den persönlichen Lieblingseditor und ein Makefile.
Wenn's etwas bunter sein soll: Eclipse + die passenden Plug-Ins.

Grüße
Sven

P.S.: Siehe auch: Beitrag "STM32 Eclipse IDE zusammenstellung für stm32 discovery"

von Michael G. (let)


Lesenswert?

> ...wie gehe ich denn jetzt am Besten weiter vor?

Es wäre einfacher wenn du mehr Informationen zu deinem Vorhaben 
preisgeben würdest. Mich würden da gerade zwei Dinge interessieren:
Hast du schon ein Controller Board (STM32, LPC..., ...)?
Willst du debuggen (Stichwort JTAG, SWD)?

von tom (Gast)


Lesenswert?

Hi, also ich habe das Evalboard "mbed NXP LPC1768"[1]. Bisher habe ich 
etwas mit dem online Compiler rumgespielt, das funktionierte auch ganz 
gut. Nur eine langfristige Lösung kann das in meinen Augen nicht sein. 
Daher will ich mir jetzt mal eine eigene Entwicklungsumgebung aufsetzen.

Alternative hätte ich auch noch zugriff auf das "AT91SAM9261-EK"[2] + 
"AT91SAM-ICE"[3]


[1] http://www.sander-electronic.de/es0027.html
[2] http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820
[3] 
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3892&category_id=163&family_id=605&subfamily_id=722

von Michael G. (let)


Angehängte Dateien:

Lesenswert?

So, jetzt. Mit dem MBED habe ich noch nichts gemacht. So wie ich das 
verstehe kann man das aber mit anderen Toolchains verwenden und zum 
Flashen steckt da ein eigener Controller drauf der ein USB Laufwerk 
darstellt.

Debuggen kann man mit dem Board anscheinend nicht. Das erspart einem 
schonmal den einen oder anderen Nervenzusammenbruch ;).

Für die LPCxxx Reihe gibt es die LPCxpresso(*1) IDE. Die hat ihre eigene 
Toolchain und kommt mit relativ vielen Beispielen die es aber auch 
separat bei NXP gibt(*2). Du musst dich allerdings bei dem Verein 
Registrieren. Und nach der Installation will das Programm aktiviert 
werden. Es läuft auch so, allerdings poppt bei jedem Compilieren ein 
Fenster auf.
Standardmäßig erzeugt die IDE keine Firmware im Binärformat wie es MBED 
anscheinend haben will. Der Befehl dazu ist in den Projekteinstellungen 
aber schon eingetragen. Er ist nur auskommentiert. Unter 
"Project->Properties->C/C++ Build->Settings" Unter dem Reiter "Build 
steps" findest du etwas wie "... # arm-none-eabi-objcopy ...". Das '#' 
muss weg.
Es könnte sein das die Programme nicht laufen weil in dem Binary noch 
eine Prüfsumme eingetragen werden muss. Dazu müsste ich hier irgendwo 
ein Tool rumliegen haben das das macht.

Eine andere Möglichkeit ist die Toolchain die du dir installiert hast 
direkt zu benutzen. D. h. du schreibst dir mit irgendeinem Texteditor - 
vielleicht nicht gerade Wordpad - deinen Code und wandelst den mit 
'make' auf der Konsole um. Oder du installierst dir Eclipse oder 
Netbeans.

Ein kleines Projekt mit Makefile habe ich mal angehängt. Das ist aber 
ungetestet da mein Rechner am Basteltisch gerade nicht geht. Den baue 
ich um.


*1) http://lpcxpresso.code-red-tech.com/LPCXpresso/
*2) http://ics.nxp.com/support/lpcxpresso/

von tom (Gast)


Lesenswert?

Für diejenigen die es interessiert, es gibt auf de mbed.org Homepage 
eine Anleitung, wie man das mbed-Modul mit dem GCC und Eclipse nutzen 
kann. Hier der Link:

http://mbed.org/cookbook/Using-mbed-with-gcc-and-eclipse

von tom (Gast)


Lesenswert?

Fehlalarm, die zuvor genannte Anleitung funktioniert leider doch nicht 
richtig.

Habe mir jetzt mal Eclipse (Helios) + CDT-Plugin + GNU ARM Plugin 
installiert. Danach hab ich mir von NXP die lpc17xx.cmsis.driver.library 
Datei für die LPC17xx geholt. Wie geh ich jetzt weiter vor? Habe jetzt 
schon einiges über Startup-Files und Linkerscripts gelesen, aber welches 
ist das richtige???

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.