Hallo miteinander, ich programmiere schon einige Zeit die AVR-Mikrocontroller in Assembler, dafür nutze ich AVR Studio. Jetzt möchte ich aber auch in C programmieren, nun stellt sich mir die Frage, welchen C-Compiler, bzw. welche Entwicklungsumgebung soll ich nehmen. (Erfahrungen mit C-Programmierung sind vorhanden). Da ich mich sehr viel mit AVR beschäftige, bin ich auch bereit etwas zu investieren, wobei mir IAR doch ein bisschen teuer ist :-/ Was für mich noch wichtig ist, ich möchte effektiv mit der IDE arbeiten können, also mich nicht nur mit make-Files, Konfigurationen der IDE oder ähnlichem rumschlagen müssen... einfach C programmieren und zu Ergebnissen kommen, eigentlich so, wie ich es von AVR Studio mit Assembler gewohnt bin. Im Moment tendiere ich ein bisschen zu Imagecraft. Hmmm, kann mir hier vielleicht jemand Tipps geben, mir zu einer IDE raten oder abraten?! - WinAVR (GNU C-Compiler) - Imagecraft - Codevision - sonstige? Also für eure Meinung wäre ich sehr dankbar! Grüße Thomas
eclipse mit CDT http://www.eclipse.org/cdt gcc (WinAVR) dazu vielleicht das AVR Eclipse Plugin Beitrag "AVR Eclipse Plugin 2.1 Released" ohne das AVR Eclipse Plugin gehts auch, einmal ein ordentliches Makefile erstellen, http://www.sax.de/~joerg/mfile (Jörg kriegt immer noch ein Bier von mir ;-) ) und das flutscht genauso... ist alles für umsonst und warum mehr ausgeben? vielleicht liefert der ein oder andere Compiler bisschen bessere Ergebnisse, aber ist IMHO nicht das Geld wert das die dafür wollen...
seit ein paar Versionen ja, davor war das aber nicht so prickelnd und dann kam ich zu Eclipse und finde mich da ganz gut zurecht (bis auf die paar mal wenn mich das character encoding ärgern will) ... aber das Zusamenspiel von WinAVR und AVRStudio zu Testen steht auf der ToDo Liste ;-)
Also von der Code-Dichte kommt wohl keiner an IAR ran, der ist halt kostenpflichtig. Dennoch würde ich den IAR nicht ausser Beetracht ziehen, denn es gibt ja eine freie 4k Version, die reicht auf jeden Fall ein gutes Stück.
Die 4k Version wird nicht reichen, aber zum Testen des IAR Compilers/IDE wäre das in Ordnung, allerdings wäre da halt der Preis der nicht eingeschränkten Version das abolute Maximum, und dann muss man ja noch die laufenden Kosten berücksichtigen (Support, Update) :-/ Also da muss ich erst mal sicher sein. Die Code-Dichte wäre nicht der wichtigste Punkt für mich. Wichtig wäre, dass ich mit der IDE schnell zurecht komme, nicht viel rumbasteln muss, eher so dass ich mich schnell mit dem eigentlichen "Problem", dem Programmieren befassen kann. Dann wäre noch wichtig, dass neue Mikrocontroller (aktuell zB. xmega) schnell unterstützt werden.
CodeVison ist auch noch da... und billiger als IAR. Hat auch einen Codewizard... der alles initialisiert, aber sehr stark zu Spagetticode neigt.
>eigentlich so, wie ich es von AVR Studio mit >Assembler gewohnt bin. Stand zwar schon weiter oben, aber trotzdem: WinAVR ist deine Lösung. Der gcc ist wirklich kein schlechter Compiler, ist nahtlos ins AVRStudio integriert, was willst du also mehr? Eclipse, ebenfalls mit dem WinAVR, bietet keinen Simulator, ansonsten ist es Spitze. Unterstützung für Sourcecodeverwaltung, etc. ist da schon drin, der Editor ist auch besser, usw. Oliver
Ich hatte früher Imagecraft. Bin dann auf gcc umgestiegen und habe es nie bereut. Wenn ich aeltere Projecte auf gcc umschreibe, schneidet gcc in Sachen Code-Dichte immer besser ab.
Dann gäbe es noch Rowley Crossworks. Auf ARM und MSP430 macht das 'ne gute Figur, sollte also auch auf AVR "gut aufgestellt" sein. JTAG-Debugging wird auch unterstützt, via JTAG-ICE. http://rowley.co.uk/avr/index.htm
Der Compiler ist gut, aber teuer : "C-Compiler Embedded Workbench von der Firma IAR".
GCC wird so in das AVRStudio integriert, dass Du es eigentlich nicht merkst. Nur insofern, dass Du C programmieren kanst :-) Du hast nichts mit Makefiles zu tun, das verwaltet das Studio. Auch kannst Du im Studio alle Compilerflags in den Projektoptionen einstellen. Debuggen geht auch über das Studio ziemlich gut. Was mich total nervt ist der dämliche C-Editor im Studio. Der ist ziemlich mies. Keine Programmierer-Unterstützung, einfach ein dämlicher Editor. Ich nutze jetzt selber Eclipse, aber das ist unter Umständen nicht sooo einfach zum laufen zu bewegen. Dazu siehe das inzwischen ganz gute Plugin Beitrag "AVR Eclipse Plugin 2.1 Released" Damit kann man ziemlich gut in Eclipse arbeiten. Bis man aber die ganze Kette bis zum Debugger am laufen hat, bedarf es mehr Arbeit. Da ist es im Studio eher Plug and Play. Aber in Eclipse ist der Editor und die Sourceverwaltung eben Spitze. Auch das Debugguen geht gut, wenn man es erstmal soweit hat. Aber so wie Du dich geäußert hast, wird Dir das Studio mit dem GCC wohl besser gefallen. Und ob GCC oder einen anderen Compiler ist schon mehr eine Glaubensfrage. Da hat jeder seine Vor- und Nachteile meine ich.
>Im Moment tendiere ich ein bisschen zu Imagecraft.
Den würde ich nicht nehmen. Falls Du eine Testversion bekommen kannst,
teste, wie er mit long-Variablen umgeht. Vor ein paar Jahren war u.a.
dies völlig uneffektiv.
Preis-Leitung ist bei GCC am besten. Wenn die letzten Bits entscheidend
sind, und Dich Preise und Aktivierungsgängelung nicht stören, spare für
vielleicht für IAR.
Ich würde dir wirklich AVR Studio / WinAVR (GCC) empfehlen. Ich hab mir einige Compiler angeschaut als ich mein AVR Buch geschrieben habe, jeder hat natürlich seine Vor- und Nachteile. Die zwei liebsten waren mir persönlich der CodeVision und eben GCC. CodeVision hat einen unschlagbaren CodeWizard, ich verwende die Eval Version von CodeVision nur, um den CodeWizard zu missbrauchen um Code für GCC zu erzeugen (aufpassen: Nicht alle Register sind identisch). Langfristig fährst du wohl mit GCC am besten, weil dort drauf geachtet wird, dass die Konvention in Zukunft kompatibel bleibt (soweit als möglich). Sollte CodeVision zusperren, dann musst du deinen Code portieren, der läuft nicht 1:1 im GCC. (Ich weiß, es gab auch Probleme bei älterem GCC Code wo dann die ganzen sbi/cbi Makros weg waren, das sind aber keine wirklichen Probleme). Habe mit Pavel von HP Info Tech gesprochen und die sind natürlich schon sehr dahinter, dass der Compiler optimiert ist. Langfristig empfiehlt sich aber immer der GCC, da freuen sich auch andere Leute im Internet, wenn du deinen Code postest. Das sollte unterstützt werden, dass wir alle einen halbwegs gemeinsamen "Standard" verfolgen und nicht jeder seinen C-Compiler entwickelt mit noch tollerer Interrupt-Behandlung ;-) Wie immer: Mehr dazu auch in meinem Buch http://www.avrbuch.de/ Dort gibts einen Vergleich von AVRGCC und CodeVision + komplettes Setup Guide und bekannte Probleme mit Vista. LG, Roman
Vielen Dank für eure Antworten! Ich werde vorerst die Kombination WinAVR und AVR-Studio verwenden, auch wenn der Editor vom AVR-Studio nicht so komfortabel ist. Den bin ich wenigstens gewohnt, ich programmiere damit ja schon einige Zeit Assembler ;-) Wenn ich mich mit C und AVR eingewöhnt habe, werde ich dann mal Eclipse austesten. Grüße Thomas
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.