Forum: Mikrocontroller und Digitale Elektronik ARM Toolchain?


von Hilbert (Gast)


Lesenswert?

Hallo Leute,
zur Zeit benutze ich für meine ARM Bastelprojekte (Cortex M3, M4, ARM7) 
Eclipse mit Yagarto und dem J-Link Debugger.
Ansich funktioniert das einigermassen passabel, aber Eclipse gefällt mir 
nicht so doll, ich finde es ist ziemlich schwerfällig und langsam und 
ein paar Features fehlen mir...

Gibt es eine Alternative? Die Yagarto Tools sind ganz in Ordnung, ebenso 
wie der GDB, mit dem das alles sehr gut funktioniert. Nur Eclipse möchte 
ich nicht unbedingt benutzen :-)

Warum?

1. Es hat keinen "Live Watch" (Variablen werden laufend aktualisiert, 
auch wenn der Prozessor läuft; z.B. IAR EWARM kann das)

2. Nerviges herumgeklapper mit diesen "Debug" und "C/C++" perspectives; 
man muss dauernd hin und herschalten, was nicht komfortabel ist (kann 
man das automatisieren?)

3. Bei den CPU-Registern werden leider nicht alle Register angezeigt, 
dafür zeigt er mit bei einem Cortex M3 noch die Floating Point Register 
(CM3 hat gar keine FPU :-) )

4. Memory anschauen geht nicht (Window -> Memory -> dann eine Adresse 
eingeben, dann kommt eine Fehlermeldung, die besagt, dass das Memory 
nicht gelesen werden konnte)


Also: kann man da was machen? zu 1 könnte ich mich notfalls noch selber 
versuchen, ein Plugin zu bauen, dann kann ich auch was zur Community 
beitragen :-)

Zu 2 weiss ich nicht, ob man das abschalten/umkonfigurieren kann... 
weiss jemand mehr?

Zu 3: nun, irgendwo müssen diese Register ja definiert worden sein... wo 
nur? ggf. Könnte man diese Definitionen dann ja noch ein wenig anpassen. 
Z.B. fände ich es toll, wenn anstatt R13 SP steht, und wenn ich PSP und 
MSP sehen kann und dergleichen; auch das PRIMASK und CONTROL Register 
wären nett.

zu 4: da weiss ich keinen Rat.


Also die Frage ist: gibts eine bessere IDE (ist es u.U. möglich, Visual 
Studio zu "missbrauchen"? kann ich dem irgendwie einen anderen Debgger 
unterjubeln?) oder kann ich meine Wünsche irgendwie mit Eclipse 
befriedigen?

Wie gesagt: von der Firma her kenne ich IAR, aber die GCC Toolchain 
gefällt mir wesentlich besser, da ich damit viel mehr Freiheiten habe 
(IAR kreiert irgendwleche Vektor- und Initialisierungstabellen selber, 
was ich nicht so mag.)

von max (Gast)


Lesenswert?

VisualGDB :-)

Ist eig. ganz nett kostet nur leider etwas wobei Ich glaube das die 70€ 
vertretbar sind!

von gerhard (Gast)


Lesenswert?

>Wie gesagt: von der Firma her kenne ich IAR, aber die GCC Toolchain
>gefällt mir wesentlich besser, da ich damit viel mehr Freiheiten habe
>(IAR kreiert irgendwleche Vektor- und Initialisierungstabellen selber,
>was ich nicht so mag.)
kannst du mir mal erklären welche Vektor- und Initialisierungstabellen 
die iar workbench selbst erstellt?
ich verwende die workbench schon seit ca. 7 jahren in verbindung mit arm 
und darüber bin ich noch nicht "gestolpert".

aber wenn due unbedingt eine ide suchst die nicht auf eclipse basiert 
dann kanst du dir mal das atmel studio ansehen, funkt aber nur mit 
sam3/4.

gruss
gerhard

von Monsieur (Gast)


Lesenswert?

Hilbert schrieb:
> Gibt es eine Alternative?
Nicht kostenlos, aber ohne MAKEFILE-Stress: mikroC for ARM von 
http://www.mikroe.com/mikroc/arm/

von Hilbert (Gast)


Lesenswert?

Danke erstmal für eure Tipps.
VisualGDB habe ich mir ne Testversion besorgt und schau mir das mal an, 
das wäre natürlich toll, wenn das brauchbar funktionieren würde. Als 
Student kriege ich VisualStudio fast geschenkt, daher bietet sich das an 
:-)
Da ich IAR schon kenne, hatte ich vor einiger Zeit mal da angefragt, ob 
es eine vergünstigte Version für Studis gibt. Die Antwort: ja, gibt es, 
kostet 4000. Toll, und das ist MIT Rabatt.... Leider kann ich mir auch 
das nicht leisten, deshalb muss ich wohl oder übel auf sowas wie das 
Eclipse Gedöns ausweichen. Dass man mich aber richtig versteht: Eclipse 
ist ein super mächtiges Werkzeug, aber das, was ich tun möchte, ist 
irgendwie nicht möglich, oder sehr umständlich etc., prinzipiell 
funktionieren tut es ja... Leider habe ich in der Zwischenzeit noch 
nicht herausgefunden, wie ich z.B. die angezeigten CPU-Register 
modifizieren kann (eben so, dass man CONTROL noch sieht, dafür die FPU 
Register nicht).

Gibt es evtl. auch einen Standalone Debugger, der entweder einigermassen 
bezahlbar oder kostenlos ist? Ich habe auch schon mal mit einem solchen 
Setup gearbeitet; es muss von mir aus also keine 100% IDE sein, das 
allerwichtigste ist mir ein guter Debugger, den Rest kann ich von mir 
aus auch mit Batchfiles und irgendwelchen Commandline-Tools machen. Eben 
nur der Debugger muss gut sein :-)

was bedeutet das?

- korrekte Anzeige aller CPU Register (r0..12, sp, lr, pc, CONTROL und 
so weiter, auch MSP, PSP)
- Memory View
- Gerne Live Watch
- Anzeige der Disassembly (da ist Eclipse vorbildlich, das ist wirklich 
gut gemacht)

Wie gesagt, muss nicht mal Kostenlos sein, aber bezahlbar. Ich habe vor 
ein paar Jahren auch mal Crossworks ausprobiert; könnt ihr dazu was 
sagen? ist das inzwischen besser geworden? früher war leider das 
Programmieren des Flash ein Krampf, daher bin ich wieder davon weg 
gekommen.

von clonephone82 (Gast)


Lesenswert?

Na ja es gibt auch IDE´s auf Basis von Eclipse die dann das alles 
können.
Die kosten dann aber eben auch was!

Tasking, Attolic, Codebench,  usw...

von ./. (Gast)


Lesenswert?

Hilbert schrieb:
> - korrekte Anzeige aller CPU Register (r0..12, sp, lr, pc, CONTROL und
> so weiter, auch MSP, PSP)
> - Memory View
> - Gerne Live Watch
> - Anzeige der Disassembly (da ist Eclipse vorbildlich, das ist wirklich
> gut gemacht)

Das kann doch alles der GDB?

CONTROL, MSP und PSP sagen mir grad nichts, aber das sind bestimmt nur 
Aliase.
Live Watch geht nicht (was ist das eigentlich?) dafür aber Watchpoints.

von Hans (Gast)


Lesenswert?

Coocox ist für mich das Beste von allen. Und nicht eingeschränkt in der 
Codegröße. Beherscht die meistens ARMs.

Würde ich Keil geschenkt bekommen würde ich trotzdem bei Coocox bleiben.

von Martin (Gast)


Lesenswert?

Coocox unterstützt leider viel zu wenige Controller.

von frame (Gast)


Lesenswert?

CooCox bietet eine ziemlich heruntergestutzte IDE, deswegen ist sie 
besser für Anfänger geeignet. Allerdings steckt auch Eclipse dahinter, 
wie bei YAGARTO. Damit halst du dir das gleiche Problem auf, nur mit 
reduziertem Interface und reduzierten Möglichkeiten.


> Nicht kostenlos, aber ohne MAKEFILE-Stress: mikroC for ARM von
> http://www.mikroe.com/mikroc/arm/

Für Leute, die make-Files als Stress betrachten.
Von der Aufmachung eher für Applikationsentwickler geeignet, die sich 
nicht wirklich mit dem Controller befassen wollen. Der größte Nachteil: 
alle mitgelieferten Bibliotheken sind Closed-Source.

Ich habe Crossworks, und damit eigentlich keinerlei Probleme beim 
Flashen.
Auch sonst kann ich micht nicht beklagen. Crossworks auch deswegen, weil 
es auch unter Linux läuft (auf dem Mac auch ...), mit Privatlizenz noch 
relativ preiswert ist, und einiges an Debug-Adaptern unterstützt.

von Timo (Gast)


Lesenswert?

KEIL for the win!

Bester Debugger der Welt ohne mist!
Mit dem Eclipse mist schimpf ich mich nicht mehr herum!

IAR ist auch gut aber der Debugger von Keil ist super!

von clonephone82 (Gast)


Lesenswert?

Ich glaube das ist oft eine Glaubensfrage!
Ich verwende Keil C166, Tasking C166, Hitex Hitop mit Tantino XC auf der 
Arbeit.

Privat habe ich schon mit Crossworks, Eclipse + Codesourcy und OpenOCD 
swie jetzt mit Seeger JLink gearbeitet. Also habe schon alles durch!

Am besten geht Seeger und Hitex Hitop. Wobei man einfach sagen muss alle 
habe vor und Nachteile!

lg

von Scans (Gast)


Lesenswert?

Timo schrieb:
> KEIL for the win!
>
> Bester Debugger der Welt ohne mist!
> Mit dem Eclipse mist schimpf ich mich nicht mehr herum!
>
> IAR ist auch gut aber der Debugger von Keil ist super!

Kinder...

von frame (Gast)


Lesenswert?

>Timo schrieb:
>> KEIL for the win!
>>
>> Bester Debugger der Welt ohne mist!
>> Mit dem Eclipse mist schimpf ich mich nicht mehr herum!
>>
>> IAR ist auch gut aber der Debugger von Keil ist super!

Ja, klingt verdächtig nach 'sales pitch' ...

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.