Forum: Mikrocontroller und Digitale Elektronik ARM Development Tools (IAR, Keil, GCC, GNU usw.)


von R. D. (Firma: Engberts GmbH) (rainer1)


Lesenswert?

Ich möchte auf ARM µC umsteigen, wer kann mir sagen welche 
Development-Tools die Professionellsten Tools sind.

Zielgebiet sind Anwendungen im Industrie- und Automotivbereich.

Würde mich sehr freuen wenn Ihr mir eure Erfahrungen mit
unterschiedlichen Entwicklungs-Tools mitteilen könntet.

Gruß

Rainer

von Sascha (Gast)


Lesenswert?

In welcher Programmiersprache willst du denn an den Start gehen ?
Also ich programiere den ARM7TDMI von Analog Device und benutz die IAR 
IDE, bin sehr zufrieden. Habe auch die Rowley CrossWorks schon getestet 
und muss sagen hat auch seine Vorteile.
Aber wenn ich automotiv höre würde ich eher die IAR empfehlen, da ich 
mit dem GNU C-Compiler nicht die beste Erfahrung gemacht habe.
Zur Zeit Programmiere ich alles in Assembler, da ich den Speed voll 
brauche.
Zur IAR benutze ich den JLink geht optimal.

Aber jeder hat oder findet seine Tools......
Gruß Sascha

von Wolfgang (Gast)


Lesenswert?

Ich kann nur zum Vergleich IAR-gcc etwas aus Erfahrung mit Atmel AVR 
sagen.

pro IAR:
- schneller, kompakter Code
- nützliche Target-spezifische intrinsics

kontra IAR:
- häufig inkompatible Änderungen in der Syntax für Linker Command-File 
bei Updates - IMHO ein absolutes No-No
- in der AVR-Version ist die IDE nicht mit relativen Pfaden nutzbar - 
auch sehr übel im professionellen Umfeld, wenn man an einem Projekt mit 
mehreren Entwicklern oder unter Versionskontrolle arbeitet
- integrierter Debugger war nicht wirklich nutzbar (mit AVR JTAGice 
mkII)

pro gcc:
- gute Kompatibilität bzw. Standardkonformität
- Hilfe im Netz wenn es mal klemmt

kontra gcc:
- Code größer als bei IAR

Vieles ist wohl dann einfach eine Gewohnheitssache, aber insbesondere 
die beiden ersten Kontra-Punkte des IAR habe ich als sehr lästig 
empfunden. Wenn das für Dich relevant ist, am Besten mal checken wie das 
in der aktuellen Version für ARM ist, ich habe die Updates für meinen 
vor 1,5 Jahren eingestellt.

Gruß,
Wolfgang

von Rainer1 (Gast)


Lesenswert?

Ich möchte in C, C++ und mit Real-Time-Kernel arbeiten und liebäugel mit 
den Keil-Werkzeug. Hätte aber gerne mit jemand Erfahrungen ausgetauscht, 
bevor ich soviel Geld ausgebe.

Gruß

Rainer

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Hi Leutz,

auch auf die Gefahr hin, dass ich mich wiederhole :-)

Ich arbeite sowohl in der Firma (ARM7 LPC2148, STM32, STR9, Luminary) 
als auch privat (AT91SAM7X-Board) mit den Keil ARM Tools und dem 
ULINK1/2, und bin damit sehr zufrieden.

Pro Keil µVision3:

- armcc, d.h. der original ARM Compiler ist standardmässig im Paket 
enthalten und voreingestellt.
Es gibt wohl keinen besseren Compiler für ARM als diesen, der in Punkto 
Codegrösse und -geschwindigkeit sehr punktet.

- eine grosse Zahl an "plug&play"-Beispielen für zig. Boards sowohl von 
Keil als auch von anderen Herstellern

- ein startup-file gibtz immer mit dabei, wo die wichtigsten Sachen 
bereits erledigt werden

- Sehr übersichtlich gestaltete IDE, mit getrennten Download- und 
Debuggerbuttons (das fand ich bei einer anderen IDE etwas verwirrend)

- Simulation so aller unterstützten Microcontroller incl. Peripherie

- schneller Download per ULINK.

- und vor allem: ein wirklich super(!) Support von Keil.


Preislich liegen die Keil Tools mit ich glaub 2-3k€ im mittleren 
Segment, eine (16k?) Demo kann bei www.keil.com heruntergeladen werden.


Contra:
- fällt mir eigentlich nur der Editor ein, der zwar in Ordnung ist (z.B. 
Sachen wie "show reference / definition" bei rechtsclick auf ein Keyword 
unterstützt), aber im Vergleich mit Notepad++ oder Eclipse mal 
überarbeitet werden könnte.


---
Was ich wirklich gut finde ist der schnelle Start in ein neues DEV-Board 
oder einen µC mit den Keil Tools. Habe seit kurzem ein AT91SAM7X-Board. 
ULINK dran, Keil angeworfen, Beispiel geladen, download, funktioniert.
Und schon hat man eine solide Basis zum weiterarbeiten.


Weiter sei hier angemerkt, dass jeder irgendwie seine "lieblings-IDE" 
hat ("da hab ich mit angefangen, ..."). Ich habe mit CVAVR angefangen, 
dann lange Zeit mit WinAVR gearbeitet.
Mein ARM-start war zunächst mit den RealViev Tools, dann intensiv mit 
den Keil Tools. Dann habe ich mal kurz mit IAR sowie CodeSourcery und 
Hitex gearbeitet.

Meine Favoriten sind aber Keil µVision für ARM und WinAVR für den AVR 
:-)


Greetz,
/r.

von Robert Teufel (Gast)


Lesenswert?

Habe mit Keil und IAR gearbeitet und hier mal ein paar PROs fuer den 
jeweiligen Ansatz

Pro IAR:
- Deckt viele Architekturen ab, falls als in Zukunft mal wieder ein 
Umstieg anstehen sollte kann man wahrscheinlich bei IAR bleiben
- Viele Betriebssysteme haben Board Support Packages mit IAR, viel mehr 
als mit Keil
- Im Linker File wird dem User direktere Kontrolle gegeben als bei Keil. 
Das wird vor allem von den Profis geschaetzt
- IAR Boards kommen meist mit J-Link und da gibts mehr Profi-Zusaetze 
wie bei U-Link, z.B. J-Flash oder Flash-Breakpoints zum schnellen 
Programmieren in der Produktion / viele Breakpoints im Flash. Kostet 
zusaetzlich aber kostet oft viel mehr diese Optionen nicht zu haben.

Cons:
Ist etwas komplizierter um erst mal in die Gaenge zu kommen. Diese 
Aussage ist basierend auf einem Experiment, das mehrere Werksstudenten 
mit Keil und IAR gemacht haben. Alle haben mit IAR laenger gebraucht. 
Aber auch fuer Neulinge, und das sind Werksstudenten meistens, war es zu 
schaffen.

Pro Keil:
- Fokus auf wenige Architekturen aber dort erstklassige Loesungen. Als 
ARM-company vermutlich etwas frueher Zugriff auf neueste Entwicklungen, 
das ist aber fuer Microcontroller, die ARM7 / ARM9 oder Cortex M3 
basierend sind nicht sehr relevant.
- Grossartiger Simulator, bezieht fuer viele Chips auch die Peripherals 
mit ein. Das Beste auf dem Markt und oft beim Debuggen sehr hilfreich.
- Es geht schneller zum ersten Ergebnis zu kommen weil das IDE so manche 
gute Annahme trifft. Dadurch muss man weniger von der Hardware verstehen 
um das System zum laufen zu bekommen.
- Experten sprechen Deutsch, fuer manche ist das wichtig.

Cons:
Wenn einer wirklich weiss was er machen will, z.B. in einem Linker File, 
dann ist es laestig erst mal herauszufinden wie man um die Standard 
Einstellungen herumarbeiten kann.
Bei Umstieg auf andere 32-bit Architekturen kein Keil Support.

Was koennen beide gut?
Aehnliche Optimierung, am besten selbst testen mit eigenen Programmen 
und den kostenlosen download versionen.
Beide unterstuetzen alle Modi der ARM Prozessoren und auch Koprozessoren 
wie z.B. den Vectored Floating Point oder aehnliche Module. Das kann man 
so nicht von den anderen Compilern sagen.


Mein Vorschlag:
Beide Test-Compiler runterladen, ein paar Beispiele kommen mit, diese 
bearbeiten, Ergebnisse anschauen und selbst ein Urteil bilden.
Zwischen Keil und IAR kann man sich nach Vorlieben, persoenlichem 
Geschmack entscheiden, beide Umgebungen sind sehr gut und sehr 
professionell.

Robert

von Daniel D. (daniel1976d)


Lesenswert?

Ich habe vor Jahren mal mit den Keil Tools zu tun gehabt. War wirklich 
ein Klacks die Sachen in Betrieb zu nehmen. In der Firma wo ich jetzt 
arbeite schwoeren die Programmmierer auf Keil ... ich werde michh wohl 
auch recht bald in die Sachen reinhaengen muessen... :)

von gerhard (Gast)


Lesenswert?

hallo,
hier meine empfehlung:
ide: iar workbench
rtos: cmx

ist in summe nicht billig aber eine ausgereifte lösung.
weitere vorteil: diese kombination ist auch für andere prozessoren 
verfügbar und arbeitet immer ähnlich.

von iar gibt es auch eine rtos-lösung (nennt sich powerpac), dürfte aber 
von segger stammen (embos).

wenn es nicht unbedingt ein arm sein muß dann wäre auch der avr32 eine 
empfehlung da es dafür sehr gute unterstützung seitens atmel gibt.

gruss
gerhard

von R. D. (Firma: Engberts GmbH) (rainer1)


Lesenswert?

Danke für die ganzen Erfahrungsberichte hat mir bei meiner entscheidung 
sehr geholfen. Mein Favoriet ist der Keil. Deutscher Support ist sehr 
hilfreich.

Ich möchte ein Grafikdisplay am ARM bereiben, macht es Sinn ein ARM mit 
Grafikcontroller zu nehmen und bringt der Keil schon Grafik-Liberies 
mit?

von Pypke (Gast)


Lesenswert?

Hallo Rainer,
ich würde je nach Anwendung (was solls den werden...) schauen, das ein 
Grafikkontroller drin ist. Dann sparst du dir eine menge Ärger mit dem 
BUS.
Da die ARMs nicht unbedingt BUS-Arbitration auf dem externen Adressbus 
unterstützen.
Ich selbst nütze die EPSON Kontroller wie S1D1370500A2 für QVGA und 
S1D13505F00A2 für VGA sogar mit integriertem VDAC. Es sind etwas ältere 
aber durchaus noch gängige Typen.
Sollte es was besseres geben bin ich dafür offen.
Wenn es mehr Performance haben soll, nehm den Fujitsu Lime, die Firma 
Glyn hat da eine Lösung.

Mein Tip: Achte stark darauf das der Kontroller viele 
Einstellungsmöglichkeiten für alle Displays hat. Sonst wird die Auswahl 
an Display sehr mager. Hitachi Displays vor allem mit ihrem DTMG Signal 
was EPSON ansteuern kann.(Wenn auch wenig im Datenblatt davon steht, es 
geht.)

Ps die Epson Kontroller gibt es auch schon bei Schukat.

(Meine Lösung ist momentan ein M32C Kontroller mit S1D1370500A2 und 
ET057003DM6 320x240 5.7 Zoll Farbdisplay TFT von ETD)

Zu Grafik-Routienen kann ich nur sagen, habe meine selber geschrieben.

von Robert Teufel (Gast)


Lesenswert?

Bei Keil sind keine Graphik Libraries dabei, ehrlich gesagt, das ist ne 
Menge Arbeit solche Graphik Libraries. Einmal mehr bietet da Segger 
etwas.
schau mal rein unter dem Punkt emWin, das wiederum arbeitet toll mit dem 
Betriebssystem embOS zusammen.
http://www.segger.com/emwin.html
http://www.segger.com/embos.html

Unterstuetzt bereits sehr viele LCDs und LCD controllers aber selbst 
wenn nicht, dauert lediglich etwas laenger, ist aber im Kaufpreis mit 
drin.

ARM7 mit LCD Controller gibts von Sharp (jetzt NXP) under dem Stichwort 
Bluestreak, ausserdem hat NXP den LPC2478 angekuendigt, wird jetzt im 
Maerz/April tatsaechlich kommen.

Auf ARM9 Basis gibts sowohl die Bluestreaks als auch von Atmel in der 
SAM926x Familie schoene Loesungen.

Robert

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.