PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR Mega32 mit C++ Programmieren



BlackDevil
21.01.2007, 18:38
Jaa ich habs immernoch nich geschafft mit dem Thema einzusteigen.... bald, bald ist es soweit.

So nun habe ich von einem Kollegen der schon Automatisierung Studiert erfahren das dort C++ das A und O ist.

Okay, da ein anderer Kumpel und ich das ganze 2007 beginnen wollen zu Studieren, also nach dem Zivildienst, dachte ich "okay dann programmiert man den krempel gleich mit C++"

Das hilft dann in vielerlei hinsicht dem Studium. Das is auch sinn der sache :)


Aaaaaaaalso was braucht man alles für die C++ Programmierung eines Mega32?

Mfg :)

ogni42
21.01.2007, 18:49
* WinAvr (Achtung: Version vom letzten Jahr nehmen. Die 2007er Version läuft noch nicht mit AVR Studio)
* AVRStudio mit SP4
* Ein Programmierdongle (steht im Wiki)
* Einen Mega32 (Grundschaltungen stehen im Wiki)
* Mindestens noch einen 10k Widerstand und 100nF Kondensator für die Grundschaltung

Achtung: Das AVRStudio kann im Moment nur C und Assembler Code aus Source Level Debuggen. C++ geht (noch) nicht
Bei der C++ Programmierung mit avrgcc (bzw. avrg++) und den ATMegas gibt es darüber hinaus noch die Einschränkung das new und delete (wegen fehlender libsup++) sowie exceptions nicht funktionieren. Beides ist aber für uC Programmierung in der AVR-Klasse m.E. nicht sonderlich bedeutsam. Insbesondere spart der Verzicht auf exceptions jede Menge Speicher.

Am schwersten wiegt derzeit die fehlende SourceLevel Debugger Unterstützung, was mich dazu bewogen hat, beim AVR (erst mal) bei C zu bleiben.

BlackDevil
21.01.2007, 18:54
Okay also is C "einfacher" weils dafür mehr gibt. Gibt es vll die möglichkeit in C++ zu Programmieren, nach C zu wandeln und dann den Chip zu Coden?

Oder ist es schon gut C zu können und dann in C++ einzusteigen im Studium?

ogni42
21.01.2007, 19:16
Gibt es bestimmt. Wie gesagt: Du kannst die Programme (mit den oben genannten Einschränungen kein new/delete...) schreiben und auch auf den AVR brennen. Nur Debuggen geht dann maximal auf Assembler Ebene.

BlackDevil
21.01.2007, 19:20
Achso dann hab ich dich falsch verstanden. dann sind also nur die "unwichtigen" funktionen betroffen und der rest is gleich wie bei C oder Basic oder so?

ogni42
22.01.2007, 08:51
Bis auf den Punkt, dass das Source Level Debuggen (noch) nicht mit avrstudio funktioniert. Ob die Funktionen wichtig oder unwichtig sind, hängt vom Anwendungsfall ab.

SprinterSB
22.01.2007, 09:52
Welche Einschränkungen an C++ gegben sind hängt natürlich von deinem Compiler ab. Wenn du ein paar T€ in der Portokasse hast für einen Keil oder IAR, sieht das wohl anders aus als für einen gcc.

Wie ogni42 schon schrieb, ist C++ auf einem kleinen AVR nicht unbedingt zweckmässig. Vor allem auch dann, wenn du C++ noch nicht kannst bzw. am lernen bist. Dann wäre eher angesagt, das auf einem richtigen Rechner (zB PC) zu lernen, wo man sich nicht bei jeder Quellzeile überlegen muss, ob man damit nicht evtl. die Resourcen aushebelt.

Einschränkungen
https://www.roboternetz.de/wissen/index.php/Avr-gcc#C.2B.2B

BlackDevil
22.01.2007, 16:47
also C Lernen und am µC anwenden und dann im studium C++ lernen :D okay