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
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.
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.
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".
> 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
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?
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).
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.
@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.
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.
>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.
♪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
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.
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.
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.
> 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
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?
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.
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.