www.mikrocontroller.net

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


Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist das sinnvoll, C++ auf so 'nem kleinen Prozessor zu verwenden?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.