Forum: Mikrocontroller und Digitale Elektronik "Amtlicher" C++-Compiler für AVR?


von Harald (Gast)


Lesenswert?

Hallo,

demnächst möchte ich beruflich einen C++-Compiler für AVRs anschaffen
lassen. Stellt sich nur die Frage, welchen. GNU-C ist sicher eine
Alternative (und kost´darüber hinaus nix), aber ich denke mal, wenn
Geld jetzt nicht das Problem ist, wird es sicher auch einige
betrachtenswerte kommerzielle Produkte geben. Vor allem: Gibt es so was
wie eine Referenz-Implementierung? Oder so eine art "amtlichen"
Compiler, der große Verbreitung gefunden und zu einem Quasi-Standard
geworden ist?

Außerdem werde ich wohl einen ICE besorgen. Frage: Benötigt man dann
einen zu dem speziellen ICE (Ich habe das Original von Atmel im Auge)
kompatiblen Compiler? Leider hatte ich bisher nur das Vergnügen,
Crash-and-Burn-Design zu betreiben...

Gruß,
Harald

von mthomas (Gast)


Lesenswert?

"Amtlich" fuer AVR ist wohl der IAR-Compiler ("C and optional C++"),
habe noch keinen C-Code von Atmel gesehen, bei dem die
compilerspezifischen Optionen/Codes nicht auf diesen Compiler angepasst
waren. "Amtlichen" C++-Code fuer AVR von Atmel habe ich allerdings
bisher nicht gesehen.
ICE = JTAGICE MKII, wird lt. Flyer von den IAR-Tools unterstuetzt.

Martin

von Andreas (Gast)


Lesenswert?

Ist das sinnvoll, C++ auf so 'nem kleinen Prozessor zu verwenden?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Die Diskussion wurde bereits ad nauseam geführt.
Fazit: Ja, wenn man weiß, was man tut. Das aber trifft ebenso auf
beliebige andere Hochsprachen zu.

von Peter D. (peda)


Lesenswert?

Es wäre am besten, zuerst zu klären, welche riesengroßen Aufgaben denn
mit derart schweren Geschützen gelöst werden sollen.

Sachen, die locker in einen ATTiny12 ... ATMega16 passen können, würde
ich garantiert nicht in C++ und mit nem ICE entwickeln.

Ehe man sich in die ganzen Tools eingearbeitet hat, ist das Programm
doch schon 10-mal fertig.


Peter

von Rolf Magnus (Gast)


Lesenswert?

> Es wäre am besten, zuerst zu klären, welche riesengroßen Aufgaben
> denn mit derart schweren Geschützen gelöst werden sollen.

Wieso "riesengroß" und "schweren Geschützen"? Man kann mit C++ auch
kleine Programme und Bibliotheken schreiben, die sich komfortabler
nutzen lassen als in C, z.B. eine Klasse für Fixkommatypen oder für
einen 24bit-Integer, die sich den eingebauten Typen sehr ähnlich
verhalten. Warum sollte man sowas nicht auch auf einer kleinen MCU
brauchen können?

> Sachen, die locker in einen ATTiny12 ... ATMega16 passen können,
> würde ich garantiert nicht in C++ und mit nem ICE entwickeln.

ATtiny12 fällt eh weg, weil er schon mit C nicht geht. Dessen
Hardware-Stack ist dafür zu einschränkend.

von Winfried (Gast)


Lesenswert?

Es geht ja vor allem auch um Code-Wiederverwendung. Gerade wenn man die
nächsten 10 Jahre unzählige Projekte umsetzen muss, kann sich eine
komfortable objektorientierte Hochsprache wie C++ sehr schnell
auszahlen.

Teile ich übrigens auch: Man muss dann wirklich wissen, was man tut und
was der Compiler draus macht.

von Harald (Gast)


Lesenswert?

Hi,

C++ sollte aus Gründen der Zukunftssicherheit des ganzen möglich
sein... ...wie hier schon angesprochen auch wegen wiederverwendbarkeit
etc. Allerdings kenn´ich Fragen wie "Ist es sinnvoll, $FEATURE auf
einem kleinen Prozessor laufen zu lassen" auch aus der
Vergangenheit... ...irgendwann isses meistens trotzdem passiert. Vor
fünfzehn Jahren hätte man wohl auch gezögert, überhaupt einen
Controller in z.B. eine Haushaltskaffeemaschine einzubauen. Will sagen,
die Technik schreitet eben fort...

Gruß,
Harald

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.