Hallo, nun hatte ich meine ersten Erfolge mit meinem Mega8, ein kleines Programm zur Tastenabfrage und Signalausgabe geschrieben und mich mit den Registern befasst. Nun wollte ich ein Delay einfügen, um ein LED Linken zu realisieren. Das klappte auch ganz gut in Form einer Schleife. Ich bekomme beim compilieren jedoch immer wieder die Warnung: c:/programme/winavr/bin/../avr/include/util/delay.h:91:3: warning: #warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed". Ich hatte auch schon hier im Tutorial über die Möglichkeit der Optimierung gelesen und das man diese einstellen kann. Leider habe ich keine Ahnung, wo ich die einstellen muss und wie das genau aussieht. Ich habs mit #define OPT = 2 probiert in der delay.h und auch in meinem C Programm, aber der Compiler hats nicht angenommen und verarbeitet.
Optimierungen stellt man auch nicht im Header ein, sondern über die Compiler-Kommandozeile. Wenn du etwas benutzt, das dir das Makefile generiert, gibt es dort bestimmt eine Einstellung dafür. Ansonsten eben selbst im Makefile der Compiler-Kommandozeile z.B. ein -O3 hinzufügen.
Hmm, naja, Vorsicht. -O3 kann ziemlich aufgeblähten (aber dafür schnellen) Code erzeugen. -Os ist meist ein besserer Startwert.
Dank für den Hinweis. Bei den vielen Parametern die winAVR beim compilieren übergeben werden durch AVR Studio, blickt man icht so einfach durch.
Mit dem AVR Studio ist es aber auch besonders einfach die Optimierung einzustellen. Menüpunt: Project / Configuration Options Daraufhin öffnet sich ein Dialog. Gleich auf der ersten Seite, im unteren Drittel findet sich eine Combo-Box, in der man auswählen kann.
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.