Codevision Compiler empfehlenswert?

Gast #34356
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
Gast #34357
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.
Gast #34358
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.
Gast #34360
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
#34361
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
Gast #34364
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren