Forum: Compiler & IDEs AVR Studio 5 Optimierungsproblem


von Nils B. (avr_noob)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen...

ich habe folgendes Problem:

Vor kurzem fing mein AVR Studio 4.13 an zicken zu machen, daher hab ich 
mir gedacht,installiere ich das mal neu. Dabei bin ich allerdings auf 
AVR Studio 5 gestoßen und dachte mir - wieso nicht ganz neu machen.
Nach der Installation hab ich auch gleich angefangen was zu 
programmieren(Programm siehe Anhang)...soweit so gut...dabei ist mir 
aufgefallen, dass das Programm ca. 30% vom Chip belegt, was blöd ist, 
weil ja noch was dazu soll.
Kurz gegoogelt...Fehler gefunden...Optimierung an...danach war das 
Programm nur noch ca. 8% groß...aber als ich das kleinere Programm auf 
den Chip geladen habe, ging nichts mehr.
Vorher lief das Programm einwandffrei, hab dann mit der Optim. Stufe 
probiert, immer das gleiche Ergebnis...Optim. aus->Programm läuft, 
Optim. an->nüschts.

Ich hab schon wie wild das Forum durchsucht und auch das (meistens) 
allwissende Google befragt, hab aber nichts gefunden was auf mich 
trifft.

Mir kommts so vor, als ober der Chip gar nicht richtig bootet.

Noch ein Paar infos:
- Win7 Prof. x64
- Atmega32
- AVR Studio 5

Schon mal besten Dank im Vorraus
Nils

von Thomas D. (t0mmy)


Lesenswert?

Bei der Optimierung kann der Compiler Codezeilen entfernen, von denen er 
denkt, sie bringen nichts.
Beispiele sind:
- Leere for-Schleifen als Warteschleifen
- Speicherzugriffe auf Variablen, wenn man sie in schnellen Registern 
unterbringen kann.

Abhilfe: Drüber nachdenken und sich über den Begriff "volatile" schlau 
machen.

von Nils B. (avr_noob)


Lesenswert?

So ich hab den Fehler gefunden...ich hab die Optimierungsstufe auf Os 
gestellt und sonst nur Stufe 2 und 3 ausprobiert...auf 1 funktiniert 
alles und der Code ist auch wieder klein...

Gruß Nils

von Kazs (Gast)


Lesenswert?

Nils B. schrieb:
> So ich hab den Fehler gefunden...

Nein, du hast nur an Symtomen rumgestochert. Den Fehler hast du nicht 
gefunden. Denn -Os funktioniert mit ziemlicher Sicherheit  korrekt.

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.