Forum: Mikrocontroller und Digitale Elektronik Welche Entwicklungsumgebung für STM32 ?


von Mark (Gast)


Lesenswert?

Hallo,

auch auf die Gefahr hin einen Glaubenskrieg anzuzetteln würde mich mal 
interessieren welche Entwicklungsumgebung ihr nutzt und wie ihr damit 
zurecht kommt.
In der Fa. nutzen wir Keil µVision (ULINK-ME) mit dem komme ich ganz gut 
klar. Die Lizenzen sowie die zus. Libary sind unflexibel und 
unbezahlbar.

Mit IAR bin ich überaupt nicht gut zurecht gekommen. Lief bei mir nicht 
stabil (ST-Link).

Ich bin jetzt auf Rowley CrossWorks aufmerksam geworden. Die 
Lizenbedingungen sind ja echt super und auch für privat bezahl- und 
nutzbar. Wie kommt Ihr damit zurecht?

Mark

von Embedded (Gast)


Lesenswert?

Rowley ist ganz nett. Vor allem das Debugging läuft sehr gut von der 
Hand. Ich würde aber auf die neue Version (3.0) warten. In der 
2er-Version fehlt zum Beispiel die Codevervollständigung. Die neue 
Version soll eigentlich in naher Zukunft veröffentlicht werden.

von Mathias P. (g400)


Lesenswert?

Ich verwende GCC mit Eclipse, als Debugger nen J-Link. Funktioniert 
alles wunderbar.

IAR habe ich auch schon verwendet, war eigentlich ganz zufrieden. 
Bezahlbar ist das aber auch nicht.

von Janvi (Gast)


Lesenswert?

Ich verwende den Hitex Tantino in Verbindung mit dem GCC (Version von 
Hitex). Preise und Updatepolitik sind undiskutabel, die ausgelieferten 
Voreinstellungen und Runtimes auf zusätzlich kostenpflichtige Schulungen 
angelegt, der Flash Download im Vergleich zu Keil arschlangsam und der 
Debugger läuft nicht wirklich stabil. Summa Summarum nicht zu empfehlen.

Aus diesem Grund stehe ich auch vor einem Umstieg, vorzugsweise auf 
STLINK2 in Verbindung mit dem GCC von Codesourcery. Diese wurden 
unlängst von Mentor aufgekauft und was man hört wird dieser GCC auch von 
vielen anderen genommen (Atollic, Raisonance...).  Unklar ist mir noch 
der Debugger so daß ich die Empfehlungen hier gerne mitlese. Wo ich 
zuletzt geguckt habe, konnte der STLINK (1) noch kein SWD sondern nur 
JTAG, zumindest aber nicht mit OOCD

Optional zum STLINK würde ich auch noch durchaus 4 stellig Geld für ein 
besseres Downloadkabel locker machen wenn dies entsprechende Vorteile 
bietet. Sehr gute Dinge hört man von Ronetix und Segger. Wie gesagt aber 
nur als zusätzliche Option zum STlink oder einem anderen "Billigheimer".

von Olaf (Gast)


Lesenswert?

> Diese wurden unlängst von Mentor aufgekauft und was man hört wird dieser
> GCC auch von vielen anderen genommen (Atollic, Raisonance...).

Dieser GCC? <BG> Der GCC ist doch der Compiler schlechthin wenn man 
nicht gerade auf irgendeine Zertifizierung angewiesen ist, oder bei 
Problemen einem Vorgesetzen einen Schuldigen vorweisen muss. :-)

Ausserdem gibt es den GCC fuer fast jeden Prozessor. Die Arbeit die man 
einmal reinsteckt, z.B fuer die Eclipse integration, oder auch in 
Programmen, ist dann uebertragbar. Ich hab den Compiler hier in Eclipse 
fuer STM32, SH2, SH2A, Palmpilot/68k, M16C und R8C laufen.

Wenn man z.B mal sieht welche Freude du bei IAR mit ihrem Lizenzgeraffel 
hast, dann will man eigentlich den GCC nutzen.

> Wo ich zuletzt geguckt habe, konnte der STLINK (1) noch kein SWD
> sondern nur JTAG, zumindest aber nicht mit OOCD

Hm..also die kleinen Standardkits von ST kann ich hier zumindest mit 
st-flash schonmal nutzen. Vollstaendige Debuggerintegration weiss ich 
jetzt nicht, wuerde mich aber wundern wenn es nicht ginge.

> Sehr gute Dinge hört man von Ronetix und Segger.

Segger ist Profiliga. Je nach Lizenzen also wohl 600-1000Euro. Die 
Haelfte der Kohle steckst du dabei dem Laden in ihren dicken Hintern 
weil es etwas an Konkurenz fehlt. Die andere Haelfte ich berechtigt weil 
sie absolut zuverlaessig funktionieren. Ich hab z.B gerade zwei J-Link 
Ultra gleichzeitig an meinem Rechner weil ich Kommunikationsprotokolle 
zwischen verschiedenen Microcontrollern teste/implementiere. Ueber sowas 
macht man sich bei Bastelloesungen natuerlich weniger Gedanken.

Es gibt auch einen Segger-EDU. Der kostet fast nichts. Ich weiss aber 
nicht ob und wie der eingeschraenkt ist.
http://www.segger.com/j-link-edu.html
Kollege hat mir mal erzaehlt es gaebe da einen Nerv-Screen.

Ich vermute mal der ist rausgekommen weil Segger etwas durch die 
chinesischen Nachbauten abgenervt war. :-)

Interessant waer auch noch die Frage inwieweit man einen J-Link unter 
Linux nutzen kann. Wo man es beeinflussen kann, also mal ganz sicher bei 
sich zu hause, wird man heutzutage wohl kaum noch auf Linux verzichten 
wollen. Dem sollte man vor dem Kauf so eines teuren Debuggers nochmal 
nachgehen!

Olaf

von Alex M (Gast)


Lesenswert?

interessante Infos gerade für Einsteiger, die anderen Threads sind ja 
schon überholt, weil sich das Entwicklungsumgebungskarussell sehr 
schnell dreht

wieso wurde bisher Coocox nicht erwähnt, wo ist da der Haken?

von Fritz (Gast)


Lesenswert?

Alex M schrieb:
> wieso wurde bisher Coocox nicht erwähnt, wo ist da der Haken?

Für mich gibt es nur 2 "Haken":
Ist nicht ganz so komfortabel wie eine kommerzielle IDE.
Fertige IDE-Projektbeispiele gibt es meist nur für die Standard IDEs 
(IAR, Keil, CodeSourcery).

von Mark (Gast)


Lesenswert?

Hallo,

danke für Eure Beiträge. Es gibt doch noch mehr IDE's. Schreibt mal Eure 
Erfahrungen.

Vor allem was CrossWorks angeht :-)

Gruß
Mark

von Olaf (Gast)


Lesenswert?

> Es gibt doch noch mehr IDE's. Schreibt mal Eure Erfahrungen.

Die ultimative Ide heisst natuerlich "Embedded Multi Assembler & C 
Studio".

Das ist schon allein deshalb war weil es nur dafuer eine eigene Tasse 
gibt:

http://www.zazzle.de/emacs_schnellnachweis_kaffee_tasse-168555220654932118

Olaf

von Fritz (Gast)


Lesenswert?

Mark schrieb:
> Vor allem was CrossWorks angeht :-)

Im Vergleich zur CooCox ist die IDE komfortabler. Aber auch weniger 
fertige IDE-Projektbeispiele.
Großer Vorteil: hat eigenes RTOS integriert. Gibts auch eine voll 
funktionsfähige Hobby-Lizenz. Kann ich nur empfehlen.

von hp-freund (Gast)


Lesenswert?

Na wenn es gleich mit RTOS sein darf:
http://sourceforge.net/projects/chibios/files/ChibiStudio/

Das ChibiStudio basiert auf eclipse und gcc.
Keine Beschränkungen und hat alles was man braucht...

von Philipp (Gast)


Lesenswert?

@Olaf:
Der JLink Edu funktioniert hier bei mir tadellos unter Linux (Xubuntu).

Ich mag diese aufgeblasenen IDEs mit dem ganzen schnick schnack, wo das 
erlernen der Bedienung länger dauert als das einlesen in die Controller 
Architektur, einfach nicht.
Bei mir läuft alles über ein selbst geschriebenes makefile.
Geschrieben wird alles in gedit.

von Juergen G. (jup)


Lesenswert?

Philipp schrieb:
> Ich mag diese aufgeblasenen IDEs mit dem ganzen schnick schnack, wo das
> erlernen der Bedienung länger dauert als das einlesen in die Controller
> Architektur, einfach nicht.

Dem fuege ich hinzu, das ich ausserdem nicht mag wenn ich nicht unter 
die Haube sehen kann und mal eben etwas an meine Beduerfnisse anpassen 
kann ohne erst tagelang mit dem Support zu verhandeln.

Ich benutze eclipse den GCC und GDB fuer die unterschiedlichsten 
Projekte.
Ich kann ein Atmel-AVR, ein STM32 bare metal oder RTOS und das PC 
Programm alles was zum selben Projekt gehoert im selben Workspace haben 
und nur durch klicken auf das Projekt und den Kompiler Button wird das 
angewaehlte Programm Kompiliert. Zum Debuggen kann man sich Scripts im 
Workspace anlegen dann funktioniert auch das Debuggen auf einen Klick.
Fuer die Planung der Software hat eclipse auch ein paar heisse plugins 
die ich nicht mehr missen moechte.

Zum Flaschen und evtl. zum Debuggen der STM's oder LPC's verwende ich 
einen selbstgeloeteten FTDI basierten JTAG Adapter und OpenOCD, fuer 
meine Beduerfnisse ist das mehr als ausreichend.

Ich muss zugeben fuer Lesemuffel ist das nichts.

Ich bin ueber das AVR-eclipse plugin auf eclipse gekommen und habe es 
nach der Installation zusaetzlichen Arbeitsspeichers (2GB habe ich 
jetzt) fuer gut und komfortabel befunden.
Als ich mich dann in die ARM Welt einarbeiten wollte kam die 
Ernuechterung. Zu dieser Zeit gabs noch nicht so viele Tutorials zu 
ARM's und eclipse wie heute.
Nach einer Woche ausgiebigen studiums der eclipse Welt bin ich dann 
wieder bei der Ueberzeugung gelandet das es nichts besseres und 
flexibleres gibt.
Das sieht man auch daran das viele Kommerzielle Produkte darauf 
aufbauen.

Also meine Empfehlung.

Nimm irgendwas, was auf eclipse aufsetzt. Egal ob kommerziell, Open 
Source, frei, teilweise frei mit Code Beschraenkung oder was auch immer.
Dann hast Du einen leichten Einstieg und je nach Bedarf kannst Du dann 
Schritt fuer Schritt lernen was man wie besser und einfacher machen 
kann.

von ♪Geist (Gast)


Lesenswert?

>Ist nicht ganz so komfortabel wie eine kommerzielle IDE.
>Fertige IDE-Projektbeispiele gibt es meist nur für die Standard IDEs
>(IAR, Keil, CodeSourcery).
CooCox hat für meinen Geschmack den besten Bedienkomfort. Was die 
Beispiele angeht, hast du Recht.

von Mark (Gast)


Lesenswert?

♪Geist schrieb:
> CooCox hat für meinen Geschmack den besten Bedienkomfort. Was die
> Beispiele angeht, hast du Recht.

Ich dachte CooCox wäre ein RTOS was unter CrossWorks läuft. Ist das auch 
eine IDE?

Gruß
Mark

von W.S. (Gast)


Lesenswert?

Olaf schrieb:
> Ich weiss aber
> nicht ob und wie der eingeschraenkt ist.

Der Segger-Edu selbst ist überhaupt nicht eingeschränkt. Aber die 
mitkommenden Lizenzen.

W.S.

von User (Gast)


Lesenswert?

Mich würde mal ein aktuelles Tutorial zur perfekten Einrichtung der
GNU Tools for ARM Embedded Processors von launchpad in Verbindung mit 
Eclipse IDE für das STM32F4 Discovery mit funktionierender FPU 
interessieren. Im Internet findet man überwiegend nur die alten 
Codesourcery Anleitungen ohne FPU.

von old man (Gast)


Lesenswert?

Ich habe auch alles mal durchprobiert. Alles was auf Eclips basiert ist 
in meinen Augen Mist. Insbesondere der Debugger. Ich verwende schon 
einen j-link Edu aber unter Eclips ist das zäh wie nichts. Der j-link 
EDU macht übrigens nur einmal am Tag ein Nerv-Fenster auf. Damit kann 
man leben. Der Debugger von Keil spielt da in einer ganz anderen Liga, 
genauso wie der von Crossworks. Bevor bei den Eclips-Dingern das 
Übersetzten, Flashen und Starten des Debuggers durch ist, hat man mit 
Keil und Crossworks schon die übernächsten Version gedebuggt. Wer mit 
Eclips zu Frieden ist kennt nichts anderes...
Die Lizenzpolitik ist bei Crossworks mit Abstand am besten. Alles ist 
auf den User lizensiert und kann auf beliebig vielen Rechnern 
installiert werden. Bei allen anderen geht das nur für einen Rechner!. 
Mit 150€ (Hobby) bzw. 1500€ (kommerziell) ist das auch noch bezahlbar.
Es ist auch immer die Frage was man will. Liegen die Hauptforderungen im 
Editor und der Projektverwaltung, dann gibt es eventuell was besseres 
als Keil oder Crossworks. (IAR habe ich nicht getestet) Das ist bei mir 
aber nicht der Fall. Für lange Editorphasen benutze ich eh meinen 
Lieblingseditor. Und für die Projekte makefiles. Die XML-Projektdateien 
von Crossworks sind z.B. auch schneller von Hand bearbeitet als mit 
endlosen Clicks. Das ist für mich ein riesen Vorteil.
Alles was in der Codegröße geschränkt ist würde ich mir auch nicht an 
tun. Wenn man Mut zur Lücke hat, bei fast jedem Entwicklerboard aus 
China ist der Keil dabei und alles was dazu nötig ist....
Mit dem Keil-Compiler selbst würde ich aber auch nicht arbeiten wollen. 
Nicht dass der schlecht ist. Aber er ist halt zu nichts anderem 
kompatibel insbesondere wenn noch Assembler ins Spiel kommt.
Ziel sollte ja immer sein, dass komplette Projekt auch zu verstehen. 
Dazu gehört eben auch das Linkerscript und der Startup-Code. Wenn man 
sich da nicht auf eine IDE verlassen will, muss man sowieso Hand 
anlegen. Und wenn man das erst mal durchschaut hat, dann reicht eine gcc 
Umgebung zum Übersetzen, ein guter Debugger und die ganze IDE ist auf 
einmal gar nicht mehr so wichtig.
Es ist aber so wie immer, da nicht alle gleich ticken kann es auch nicht 
für alle die eine richtige IDE geben...
Coocox ist ja auch ganz nett und bringt für den Anfänger schnelle 
Erfolgserlebnisse. STM32 wird noch halbwegs unterstützt bei den LPCs 
fehlen z.B. schon massenhaft Definitionen für die Peripherieregister. 
Trotzdem ist mir die Art und Wiese wie die ihren Code verteilen nicht 
geheuer. Das ist aber nur mein Bauchgefühl.

Mein Fazit:
Crossworks und nichts anders. Und ein Projekt was ich nicht mit dem 
gleichen Code und den nackten gnu-arm-tools lauffähig kriege, ist noch 
nicht fertig.

von Olaf (Gast)


Lesenswert?

> Ich mag diese aufgeblasenen IDEs mit dem ganzen schnick schnack,
> wo das erlernen der Bedienung länger dauert als das einlesen in
> die Controller Architektur, einfach nicht.

Naja, ich sag mal das ist Projekt abhaengig.

Es ist richtig das die Bedienung und Konfiguration von Eclipse eine 
mittelschwere Katastrophe ist. Obwohl ich es schon mehrmals gemacht habe 
bin ich mir sicher das ich allein fuer das aufsetzen eines neuen 
Projektes so 1-2h brauchen wuerde und mindestens einmal Schaum vorm Mund 
habe.

Aber fuer grosse Projekte lohnt es sich, sich da durchzukaempfen. Der 
Nutzen im Alltag ist dann groesser wie die Schmerzen zu beginn.

Ausserdem kann man ja zumindest mal den Emacs-Mode und einen schwarzen 
Hintergrund installieren um eine gewisse Basiskompatibilitaet 
herzustellen. :-)

Die Segger-EDU Nutzung unter Linux werde ich bei Gelegenheit mal 
ausprobieren.

> Der Segger-Edu selbst ist überhaupt nicht eingeschränkt. Aber
> die mitkommenden Lizenzen.

Das macht mir privat ja nichts aus. Und fuer 50Euro bekommt man dann ja 
eine zuverlaessig funktionieren Loesung.

Olaf

von Stefan (Gast)


Lesenswert?

old man schrieb:
> Die Lizenzpolitik ist bei Crossworks mit Abstand am besten. Alles ist
> auf den User lizensiert und kann auf beliebig vielen Rechnern
> installiert werden.

Hmm? So wie ich das in dem Manual gelesen habe arbeiten die auch mit 
Node-Locks (wahlweise MAC Adresse oder irgendwas Anderes).
Wie läuft es denn tatsächlich?

von old man (Gast)


Lesenswert?

Stefan schrieb:
> Hmm? So wie ich das in dem Manual gelesen habe arbeiten die auch mit
> Node-Locks (wahlweise MAC Adresse oder irgendwas Anderes).
> Wie läuft es denn tatsächlich?

Ja, das ist richtig. Wird an eine MAC-Adresse gebunden. Kann auch eine 
virtuelle von einem z.B. VirtualBox-Treiber sein. Es steht aber 
ausdrücklich bei denen beschrieben, dass die Anzahl der Rechner nicht 
beschränkt ist. Ich habe es kurz hintereinander an meinen 4 Rechnern, 
die an unterschiedlichen Stellen stehen, installiert und freigeschaltet. 
Das ging völlig problemlos.

von Stefan (Gast)


Lesenswert?

Dann kommt die IDE für mich vielleicht doch infrage. Ich kann das 
Lizenzgedöns der großen Firmen nicht ab. Hinterhertelefonieren und sich 
wie der letzte Tölpel behandeln lassen  weil man vor einer 
Neuinstallation vergessen hat vorher die Lizenz zu deaktivieren u.s.w...
In der Firma ist das schon schlimm genug. Privat tue ich mir das nicht 
an.

Also danke für den Hinweis.

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.