Hallo Leute,
zur Zeit arbeite ich mit einer Testversion von IAR Embedded Workbench.
Zudem besitze ich einen Segger J-Link. Mit dieser Kombination ist das
Arbeiten sehr angenehm und flüssig. Nun stört mich aber langsam die
Codegrössenbeschränkung von EWARM. Daher möchte ich auf eine offene und
unbeschränkte Variante ausweichen.
Jetzt die Frage -- gibt es eine IDE, die nicht Eclipse-basiert ist? Ich
habe schon mehrfach versucht, mit der Eclipse-Umgebung zu Arbeiten. Es
läuft leider nicht flüssig, und das Debuggen ist sehr kontraintuitiv und
langsam. Der GCC als Compiler ist aber Top (und vermutlich auch die
einzige kostenlose Variante).
Je weniger Funktionen die IDE integriert hat, umso besser - ich möchte
keine "eierlegende Wollmilchsau" wie Eclipse, sondern am liebsten
einfach nur Syntax Highlighting und Debugging. Ein Live-Watch wäre noch
nett. Das wars schon, das sind alle meine Anforderungen - gibt es sowas
nicht?
Wie gesagt, Eclipse scheidet aus, das ist mir zu schwerfällig. Was gibt
es noch? Coocox ist auch Eclipsebasiert, das habe ich auch erst kürzlich
ausprobiert. Es sieht schon besser aus, aber der Debugger ist noch immer
sehr schwerfällig. Zudem kann ich die FPU-Register nicth anschauen (der
Cortex M4 hat ja eine), was ein ziemliches Manko ist.
Kann ich denn damit einen Debugger bedienen? Vi sagt mir nichts, aber
von Emacs habe ich schon gehört. Darauf bin ich aber noch gar nicht
gekommen! Wenn das ginge - mit dem GDB zusammen, das wär toll.
Das hier ist nicht kostenlos und nicht frei, aber als Privatperson doch
bezahlbar. Und es ist javafrei und gdb-frei (zumindest habe ich davon
nix gemerkt).
http://www.rowley.co.uk/arm/index.htm
fchk
Fantomas schrieb:> Kann ich denn damit einen Debugger bedienen?
Ja, über M-x gud RET kann man source-level debugging mit den
verschiedensten Debuggern und Programmiersprachen machen (getestet
bisher nur mit gdb und perldb), wie man es von typischen IDEs gewohnt
ist. Features sind z.B. automatisches Springen zu Datei+Zeile bei
getriggerten breakpoints/watchpoints, Setzen/Löschen von Breakpoints auf
Zeilen per Tastendruck, Anzeigen von Variablenwerten durch popup, etc.
Ich setze Emacs seit ca. 2003 ein, sowohl für lokale Programme in den
verschiedensten Sprachen, aber auch on-topic mit C, Forth, Assembler
incl. cross-debugging auf avr, H8, m68k und arm.
Die Lernkurve ist zu beginn etwas steil, aber man wird jedesmal belohnt,
wenn man beim Einarbeiten in die nächste Archtitektur sich auf das
wesentliche konzentrieren kann, und sich nicht mit einer neuen toolchain
oder gar IDE abgeben muss.
In Crossworks habe ich ne ganze Menge Zeit zur Evaluierung gesteckt. Die
sind auch ziemlich großzügüg beim Zuschicken neuer Keys. Das wäre auch
mein Favorit gewesen. Nur leider gibts da ein paar Hürden die das ganze
zum nogo machen. Aber vielleicht sind meine Anforderungen zu schräg? Als
erstes brauche ich die IDE nicht zum Entwickeln sondern nur zum
Debuggen. Weiterhin will ich mit freien Compilern übersetzen und auch
keine Libs der IDE Hersteller verwenden. Also z.B. die gnu-arm-tools
oder yagarto. Zum Debuggen eines solchen Projektes kann man dann (in
meinem Fall) die LPCXpresso IDE (bis 128k) oder Keil (32k) oder CooCox
(frei aber nur schwerfällig davon zu überzeugen extern übersetzten
elf-Dateien zu debuggen). Crossworks geht leider nicht. Beim LPC11C24
bzw. LPC1114 funktioniert das, beim LPC1769 nicht. Zum einen muss man
die Checksummen in der Vektortabelle der NXP- Cortexe nach dem Linken
selbst reinpatchen. Das ist noch machbar, wenn man erst mal weiss, daß
das überhaupt nötig ist... Größte Hürde ist aber die Art- und Weise wie
der Debugger funktioniert. Da wird mit einer JavaScript-Syntax nach dem
Flashen an den Registern der CPU gefummelt und bei diesen Aktionen
kriege ich immer einen HardFault. Irgendwas steckt in den
Crossworks-Libs was verhindert, dass extern übersetzte Programme
gedebuggt werden können. Leider,leider. Zumal die Lizense-Politik bei
Crossworks auch am liberalsten ist. Pesonenbezogen und auf beliebig
vielen Rechner aktivierbar.
Alles was Eclipse als Basis verwendet ist gegenüber Keil oder Crossworks
beim Debuggen schnarchlangsam. Singelstep im Sekundentakt. Das nerft.
Wie man es bei Coocox schafft den ansonsten superschnellen JLINK so aus
zubremsen ist mir ein Rätzel.
Alles was nur auf den gdb aufsetzt geht sicherlich auch. Nur bleiben
einem dann die komfortablen Sichten auf die Peripherie versperrt.
Leider habe ich auch noch nicht den goldenen Weg gefunden.
Ja also mit Eclipse kann man wirklich nicht arbeiten. Das Debuggen ist
unbrauchbar, und ein externes Tool kann man auch nicht einbinden.
Mir wäre es sogar recht, einen externen Debugger zu benutzen, als
eigenständiges Programm. Wir haben das bei einem früheren AG so gemacht.
Das Visualstudio wurde als IDE benutzt, der Compiler war als externes
Tool eingebunden. Der Debugger war Lauterbach, der als eigenes Programm
lief.
Hmm Crossworks scheint ja auch recht speziell zu sein :-)
Mir wär halt eine IDE mit möglichst wenig Automatismen und fest
dazugelinkten libs am liebsten.
hallo fantomas,
wenn setzt du das ganze privat ein oder beruflich?
wenn beruflich dann vergiss alle open-source-lösungen und setze eine
kommerzielle tool-chain ein. die zeit die du mit probleme lösen bei
open-source verbringst kostet weit mehr als die eine kommerzielle
tool-chain.
wenn dir die standard versionb von ewarm zu teuer ist, es gibt auch noch
eine sog. baseline-version und eine die auf cortex-m beschränkt ist. die
sind in der regel doch günstiger. einfach mal bei iar anfragen.
gruss
gerhard
Ich habe das gleiche Problem, bei mir habe ich schon mehr als eien Tag
verbracht, Eclipse mit Codesourcery und Segger J-Link unter Windows 7
überhaupt zum Funktionieren zu bewegen.
Richtig übersetzen tut das ganze aber immer noch nicht.
Ich habe mit meinem Starterkit die Testversion vom Atollic TrueStudio
bekommen, die läuft 90Tage als Vollversion, danach hat sie eine
Codebegrenzung von 32k.
Die Vollversion für Hobbybastler kostet allerdings nur 150$.
Die werde ich demnächst testen und danach berichten.
Also ich bin CooCox sehr zufrieden.
Schwerfälligkeit beim debuggen? Ja mit dem jLink schon. Deshalb verwende
ich auch nur noch ST-Link und CoLink. Da klappt das butterweich und
blitzschnell.
Thomas Winkler schrieb:> Also ich bin CooCox sehr zufrieden.
Unterstützt lt. Coocox.org leider meinen Chip nicht. (Energy Micro Giant
Gecko). Daher will ich es nicht austesten.
Auch ich verwende CooCox und debugge mit ST-Link SWD! Läuft wirklich
erstaunlich flüssig, stabil und auf Anhieb ohne Probleme. (Daneben habe
ich auch noch die Keil uVision IDE stehen, die ist nicht zu gebrauchen!)
Also, es soll für rein privates Basteln sein. Meinen J-Link habe ich vor
ein paar Jahren gekauft, als es noch das volle Paket mit einer "non
comercial license" gab.
Der JLink funktioniert im Gegensatz zum ST-Link, den ich auch mal
ausprobiert habe, sehr zuverlässig und schnell. Daher möchte ich auch
bei diesem bleiben. Ich denke, dass die Schwerfälligkeit von
Eclipsebasierenden Umgebungen nicht vom JLink her rührt, sondern vom
ganzen Java geraffel.
Trace32 fänd ich toll, ich habe noch nie so einen super Debugger
gesehen! Wie gesagt bei einem früheren AG habe ich damit gearbeitet.
Leider kostet Trace32 teuer Geld, ich denke nicht dass man es für Privat
bekommt, oder?
Andernfalls, wenn es das zu einem günstigen Preis gäbe, wäre ich gerne
bereit das zu kaufen. Mit Opensource meinte ich ja nicht, dass ich
unbedingt kostenlose Software will, sondern gern bereit bin was dafür zu
zahlen :-)
Von Crossworks werde ich mir mal die Demoversion besorgen. Ich hatte es
vor ein paar Jahren mal im Einsatz gesehen; der Debugger schien ganz gut
zu sein, aber es hat auch sehr viele Automatismen drin, womit man z.B.
Code generieren kann um den kompletten Chip initialisieren zu lassen
etc., das will und brauche ich alles nicht.
Fantomas schrieb:> Trace32 fänd ich toll, ich habe noch nie so einen super Debugger>> gesehen! Wie gesagt bei einem früheren AG habe ich damit gearbeitet.>> Leider kostet Trace32 teuer Geld, ich denke nicht dass man es für Privat>> bekommt, oder?
Ja, OK. Das Privat hatte ich scheinbar vorher überlesen. Dürfte etwas
über dem Hobby Budget liegen ;-)
Privat nutze ich CooCox und bin auch mit Eclipse zufrieden. Habe
allerdings mit CooCox noch nicht viel degugged.
In der Firma nutze ich Eclipse zum coden und zum debuggen dann aber
T32-ppc ;-)
Habe mir gerade mal die oben genannte emIDE angesehen. Sieht gut aus, da
ich früher viel mit code::blocks gearbeitet habe, muss ich das mal
schnell testen. Gibt es das Projekt schon länger? Ist irgendwie an mir
vorbeigegangen
Fantomas schrieb:> Der JLink funktioniert im Gegensatz zum ST-Link, den ich auch mal> ausprobiert habe, sehr zuverlässig und schnell.
Ist total erstaunlich, weil ich habe genau gegenteilige Erfahrungen.
Ich habe hier ST-Link, CoLink und jLink EDU. Es mag an der lizenz des
jLink liegen, keine Ahnung, aber bei mir laufen ST-Link und CoLink
superflink und flüssig, der jLink hingegen läßt sich ziemlich Zeit (und
ist lizenzmäßig eingeschränkt).
Keil läuft also instabiler als CooCox ? ha ha hust
Keil mit dem Jlink, Ulink, STlink und alles was noch mit Link endet,
läuft wirklich stabil und einwandfrei mit Keil.
Das einzige was bei Keil nicht stimmt ist der Preis.
4000euronen ohne codelimitierung
Nehmt doch einfach Atmel Studio 6, C/C++ Compiler ohne Code Limit, dazu
ein professioneller Editor. Wer schon eine Keil Lizenz hat, man kann den
Keil Compiler ins Studio 6 per Plugin integrieren. Schön ist dass auch
kostenlose Plugins wie SubVersion mit integriert werden können
MarcoAmbrovic schrieb:> Das einzige was bei Keil nicht stimmt ist der Preis.>> 4000euronen ohne codelimitierung
Bei dem Preis bekommt man auch schon die Trace-32 Software ;-)
heinz schrieb:> Habe mir gerade mal die oben genannte emIDE angesehen. Sieht gut aus, da> ich früher viel mit code::blocks gearbeitet habe, muss ich das mal> schnell testen. Gibt es das Projekt schon länger? Ist irgendwie an mir> vorbeigegangen
Noch nicht solange, vielleicht so ein halbes Jahr. Wird aber anscheinend
auch von Segger unterstützt, da es ja die J-Link Unterstützung gibt
sowie auch eine embOS Portierung.