Hallo, ich hab da ein kleines Problemchen ... aber zuallererst mal ein paar Infos vorweg. Ich programmiere normalerweise mit AVR-GCC unter Eclipse/XP das funzt auch super. Jetzt hab ich noch nen Rechner rumstehen unter dem eine ur-ur-ur-alte kommerzielle Version von CodeVisionAVR/Win98 drauf ist. Mit dem Codevision/Win98-Rechner wurde damals ein Programm erstellt, welches jetzt bisschen modifiziert werden soll ... Migration von ATmega128 --> ATmega2561 ... jetzt ist aber der ATmega2561 unter der steinalten Version von CodeVision noch gar implementiert =/ Jetzt zum Problem ... Ich hab mir ein gammliges Netbook geschnappt und da die neueste Version von CodeVision installiert und erstmal versucht die alten CodeVision-Sourcen mit der neuen Version zu kompilieren, aber das ging mal hart gegen den Baum. Der Compiler meckert über all mögliche Sachen rum ... aber eigentlich nur über fehlende globale Variablen. Aber mit dem CodeVision/Win98-Rechner macht er es ohne zu meckern. Jetzt bin ich nicht so firm in Sachen CodeVision und hätte mal gern einen plausiblen Grund dafür gewusst, warum die zu 100% gleichen Sourcen nicht mit unterschiedlichen Compilerversionen compiliert werden können. Hat sich da was geändert? Kann ich mir nicht vorstellen, oder? thx4replies Grüße
..,- schrieb: > ur-ur-ur-alte kommerzielle Version von CodeVisionAVR/Win98 drauf ist. > ... > Der Compiler meckert über all mögliche Sachen rum ... aber eigentlich > nur über fehlende globale Variablen. > ... > Hat sich da was geändert? Kann ich mir nicht vorstellen, oder? Warum nicht? Kommt halt drauf an wie alt ur-ur-ur-alt denn in Versionsnummern ist. Wenn es nur die Variablen sind, mach sie halt mal global zum ausprobieren. Kann das ev. an den Limitierungen der Testversion liegen? Ich nehme mal an, Du hast keine Vollversion gekauft, dann würdest Du nämlich support von Codevision bekommen. Hilft Dir das? Ohne Fehlermeldungen und passendem Source wirds ab jetzt schwierig... IF
Falls es jemanden interessiert ... Der alte Compiler war V1 ... der neue ist ja V2. In V1 compiler all .C program modules were merged in one .C file and this was compiled. This is why global variables were visible in all program modules. But this was not ANSI C.
..,- schrieb: > Der alte Compiler war V1 ... der neue ist ja V2. Leider zu spät gelesen, aber die Codevision-Heavy-User kennen das...
Ich häng das einfach nochmal mit hier dran ... Habe die Firmware nun soweit für V2 angepasst ... Globals/Array etc. ... Aber die neu compilierte Version passt nicht mehr aufn Chip oO Es wurden halt massig Globals eingebaut, die stellenweise riesig sind ... Über Sinn und Zweck darf gestritten werden. Aber wundern tut es mich schon, dass der alte Compiler auf den Chip draufbekommen hat. Ist da irgendwas bekannt zu den Unterschieden der Code-Size beider Compiler-Versionen?
Wie viel größer ist der Code jetzt? In den Compilereinstellungen kann man auch noch einiges machen (Project -> Configure -> C Compiler) Hab gerade mal ein Programm mit 1.25.3 und 2.03.9 verglichen, ist mit der neuen Version etwa 5% kleiner. Allerdings sind da keine grossen Arrays drin. Ist es nicht egal ob die Variablen global oder lokal sind? den Platz im Flash verbraucht doch nur die initialisierung der Variable, oder sehe ich da was falsch? IF
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.