Forum: Mikrocontroller und Digitale Elektronik Cortex M3/M4 IDE?


von Fantomas (Gast)


Lesenswert?

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.

von Möwie (Gast)


Lesenswert?

(X)Emacs / Vi(m) ?

von Fantomas (Gast)


Lesenswert?

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.

von Frank K. (fchk)


Lesenswert?

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

von ansel (Gast)


Angehängte Dateien:

Lesenswert?

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.

von temp (Gast)


Lesenswert?

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.

von Fantomas (Gast)


Lesenswert?

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.

von gerhard (Gast)


Lesenswert?

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

von Jeff (Gast)


Lesenswert?

Wie wäre es mit emIDE? emide.org

Hat J-Link Unterstützung und das Debuggen klappt genauso gut wie im IAR.

von Gregor B. (Gast)


Lesenswert?

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.

von Thomas W. (diddl)


Lesenswert?

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.

von Gregor B. (Gast)


Lesenswert?

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.

von Markus (Gast)


Lesenswert?

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!)

von heinz (Gast)


Lesenswert?

Wenns dir nur ums debuggen geht, warum nicht Trace32?

von Fantomas (Gast)


Lesenswert?

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.

von heinz (Gast)


Lesenswert?

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

von Thomas W. (diddl)


Lesenswert?

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).

von Peter S. (psavr)


Lesenswert?

Auch ich habe beides vor mir liegen, Keil uVision mit J-Link und CooCox 
mit SWD. Das SWD mit CooCox tut definitiv schneller und stabiler!

von MarcoAmbrovic (Gast)


Lesenswert?

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

von Stephan (Gast)


Lesenswert?

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

von debugger (Gast)


Lesenswert?

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 ;-)

von Guest123 (Gast)


Lesenswert?

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.

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.