Forum: Mikrocontroller und Digitale Elektronik AVR: Welches Programmierwerkzeug?


von Hans-jürgen G. (gebi)


Lesenswert?

Hallo,
ich möchte mit der µC-Programmierung beginnen:
Hier bei www.mikrocontroller.net wird häufig der C-Compiler GCC
erwähnt.
Es gibt weitere C-Compiler:   Eclipse
                                       IAR
        ImageCraft
        CodeVsion AVR
Auch Pascal-Compiler:   E-Lab Computers
... und weitere BASCOM, Forth ....
* Wie sind die Parameter:   Codegröße
        Geschwindigkeit
        µC: Tiny, Classic, Mega
        Quellcode-Debugger
        Lernaufwand
        Probleme, Einschränkungen
* Kosten
Mir ist klar, dass Assembler das flexibelste, in der Ausführung
schnellste Werkzeug ist, aber auch den meisten Programmieraufwand
benötigt.
C ist nur wenig langsamer und größer, doch schneller zu programmieren.
Pascal wird eine Zwischenstellung einnehmen.
BASCOM ist zwar schnell programmiert aber langsam.
Stimmt das?
Ich möchte nicht aufs falsche Perd setzen, unnützen Lernaufwand
betreiben und ev. sogar Geld fehlinvestieren.

  Auf Eure Nachrichten freut sich
    Hans-Jürgen
Danke!

von Daniel M. (usul27)


Lesenswert?

Wenn du generell uC-Programmierung betreiben willst und später auch
andere uCs programmieren willst, ist C sicher sinnvoll, denn das ist
einigermassen protabel.

Eclipse ist kein weiterer C-Compiler, sondern lediglich eine
Entwicklungsumgebung, die einen externen Compiler aufruft (meist
AVR-GCC).

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Es gibt auch noch Ada...
Es kommt auch auf dein Vorwissen und dein Interesse an der Sache an.
Bzgl. WinAVR hast du hier vermutlich DAS (deutschsprachige) Forum
gefunden.
IAR und Codevision kosten Geld (IAR sogar richtig viel).
Wenn du für dich zuhause programmieren willst, solltest du WinAVR als
C-Enwicklungsumgebung benutzen, da kostenneutral und sehr gut
unterstützt.
Wenn du Anwendungen schreiben willst, bei denen es auf jeden Takt
ankommt, wirst du um Assembler nicht herumkommen.
Pascal für AVR kenne ich nicht.
Bascom ist ein schönes Baukastensystem, das viele (praktische)
vorgefertigte Funktionen mitliefert. Die haben aber häufig das Problem,
dass sie Resourcen binden, die man in noch nutzen könnte, wenn man die
Funktion selber schreibt (Timer werden z.B. ausschliesslich für eine
Funktion benutzt, obwohl man mit exakt dem gleichen Timer noch andere
Sachen machen könnte).

Auf ein falsches Pferd kann man eigentlich nur setzen, wenn es Geld
kostet.
Von den meisten Compilern gibt es auch kostenlose Versionen, die in
ihrem Funktionsumfang eingeschränkt sind, indem es eine maximale
Programmgrösse gibt, oder man nicht mit reellen Zahlen rechnen kann.
Für Privat würde ich auf jeden Fall das WinAVR-Paket empfehlen, sofern
du dem C geneigt bist. Damit haben viele nämlich ihre Schwierigkeiten
(Pointer-Operationen, "kryptischer" Befehlssatz).
Zum "Rumspielen" kann man Bascom nehmen, wobei da der Bezug zum
Controller sehr stark abstrahiert wird. Diesen Bezug braucht man aber,
wenn man sich mit µControllern beschäftigen will (im Gegensatz zur
PC-Programmierung).

von johnny.m (Gast)


Lesenswert?

Der GCC-C-Compiler (in der WINAVR-Distribution) hat den gigantischen
Vorteil, dass er komplett kostenlos ist und mit dem ebenfalls
kostenlosen AVRStudio von ATMEL in eine professionelle
Entwicklungsumgebung eingebunden werden kann. Die genannten
kommerziellen Compiler / IDEs haben den Vorteil, dass sie mit Updates
schneller sind (v.a. was die Unterstützung neuer Controller angeht),
sie kosten dementsprechend aber alle Geld (außer man nimmt es mit stark
eingeschränkten Evaluation-Versionen vorlieb, z.B. von CodeVision),
wobei CodeVision mit seinen 150€ netto glaub ich noch der
preisgünstigste ist.

Meine persönliche Meinung zur Wahl der Programmiersprache:
Wenn jemand wirklich ernsthaft in die µC-Welt einsteigen will, ist C
sicher auch die beste Wahl als Programmiersprache, da es für alle mir
bekannten µC-Familien C-Compiler gibt, die im großen und ganzen dem
ANSI-Standard entsprechen und man somit nicht auf Einschränkungen
eingeht. Abgesehen davon kann man in C auch ganz nett Programme für den
PC schreiben...
Assembler ist eigentlich für den Einstieg am besten geeignet, weil man
dabei die Hardware richtig kennenlernt und hinterher bei der
Hochsprachen-Programmierung weniger Schwierigkeiten bekommt, wenn
irgendwelche anscheinend unerklärlichen Phänomene auftreten.

von AlexN (Gast)


Lesenswert?

also ich arbeite damit in Assembler und C:

http://www.myavr.de/download/myAVR_WorkpadPLUS_Demo.exe

gruß AlexN

von Hans-jürgen G. (gebi)


Lesenswert?

Danke für Eure Hilfe!
     Hans-Jürgen

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.