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
"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
Ist das sinnvoll, C++ auf so 'nem kleinen Prozessor zu verwenden?
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.
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
> 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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.