Forum: Mikrocontroller und Digitale Elektronik Codevision Compiler empfehlenswert?


von Sven Müller (Gast)


Lesenswert?

HAllo,

Ich stehe davor mir eine entwicklungsumgebung für einen Mega 16 
aufzubauen, und suche eine entwicklungsumgebung mit der ich in C auf nem 
Mega 16 programmieren kann.

Die IAR ist wohl zu teuer, die AVRGCC mir etwas zu umständlich (will ja 
auch gescheit möglichst über JTAG debuggen)

Darum bin ich auch Codevision gestoßen. sieht ja rech schick aus, wer 
kann was aus der Praxis dazu sagen?

Danke, sven

von emil (Gast)


Lesenswert?

der built-in programmer ist mir ein wenig zu wackelig, ich benutze 
lieber einen externen (ponyprog);

ansonsten eigentlich ganz ok, auch die lcd- und ds1820-libs funken ok, 
die anderen habe ich noch nicht ausprobiert;

codesize ist beachtlich reduziert im vergleich mit bascom (min. 15%, je 
nachdem); mit anderen kompilatoren habe ich nicht verglichen, soll aber 
recht gut optimieren;

nicht ganz ansi c-kompatibel, aber was soll schon das...

macht mir irgendwie angenehmerer eindruck als iccavr.

von crazy horse (Gast)


Lesenswert?

benutze den jetzt seit ca. 3Jahren und bin sehr zufrieden. Support 
funktioniert astrein, und wenn mal was nicht geht, wird das ziemlich 
schnell erweitert (bei mir war es LCD4x40).
Codegrösse und Laufzeit ziemlich gut.

von Matthias (Gast)


Lesenswert?

Hi

auch mit dem AVRGCC kannst du per AVRStudio4 und JTAGICE debuggen. Die 
Binutils erzeugen ein .cof auf Anfrage. Und das 
Preis/Leistungsverhältnis ist einfach unschlagbar.

Matthias

von Bernhard Koopmeiners (Gast)


Lesenswert?

Hallo Sven,

habe schon mit AVRGCC, ICCAVR und CVAVR gearbeitet.
Der AVRGCC ist einfach nur umgesetzt und nicht für MC gedacht. Seine 
Berechtigung liegt nur im "Preis".

Der CVAVR ist mit dem ICCAVR vergleichbar, kann aber nicht gut mit 
Inline-Assembler umgehen. Was nicht heisst, das der CVAVR-Code Probleme 
macht, es sind die Variablen, die sicht nur mit besonderer Vorsicht 
"mischen" lassen. Ansonsten ist er in den meisten Punkten wesentlich 
besser.
Alle 3 erzeugen keinen optimalen Code. Wer das nicht glaubt soll sich 
uVision anschauen.

Bernhard

von Peter D. (peda)


Lesenswert?

@Bernhard,

wo gibt es denn uVision für den AVR ?

Ich kenne nur uVision von Keil für den 8051. Da steht aber, daß der AVR 
noch nicht geplant ist.


Ansonsten habe ich bisher auch den Eindruck, daß die AVR C-Compiler im 
Vergleich zu Assembler wesentlich mehr Overhead erzeugen als z.B. der 
Keil beim 8051.


Es gibt meiner Meinung nach keinen Universalcompiler. D.h. ein Compiler 
kann nur dann gut sein, wenn er genau auf den Prozessor hin optimiert 
ist und der Keil ist es beim 8051.
D.h. der Compiler muß genau wissen, welche Befehle sind für die CPU 
einfach und welche extrem umständlich. Und das sind nun mal bei jeder 
CPU völlig andere.


Ich sehe das ja auch an dem Assemblercode bei mir. Der Programmierstil 
beim AVR ist ein völlig anderer als beim 8051.


Peter

von John (Gast)


Lesenswert?

gcc all the way ...
;)

von BernhardT (Gast)


Lesenswert?

Noch mal nachgefragt (speziel an crazy horse) , weil es mich auch 
interresiert, wie sieht es bei Codevision mit debuggen evtl. unter JTAG 
aus ?
Gruß Bernhard

von Bernhard Koopmeiners (Gast)


Lesenswert?

@Peter,

natürlich meine ich Keil für 8051 und 80167.
Wie auch Du bemerkt hast, ist der Code mit dem Keil sehr gut optimiert. 
Es ist dort also nicht empfehlenswert den asm noch einmal anzufassen.
ICCAVR und CVAVR hingegen sollte man so programmieren, dass der Compiler 
nicht viel optimieren muss. Ich habe mir den Compiler genau angeschaut 
und komme so zu gutem asm. Soll es aber besonders schnell oder klein 
werden muss man halt Assembler programmieren und kann so die Vorzüge der 
AVRs besser nutzen.

Bernhard

von Günter König (Gast)


Lesenswert?

Hi Sven,

vielleicht solltest du dir das mal anschauen:

www.amctools.com/vmlab.htm

Gruß,
Günter

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.