Forum: Mikrocontroller und Digitale Elektronik AVR STUDIO Simulation Program Counter


von fox (Gast)


Lesenswert?

Hallo Leute,

probier mich das erste mal mit AVR Studio in Verbindung mit WinAVR.

Zunächst mal kontrolliere ich meinen Code nur über eine Simulation. Das 
Kompilieren klappt wunderbar, und der Simulator setzt den Zeiger auch 
richtig an den Anfang der Mein() Funktion. Ab da an geht's aber nicht 
richtig. Mach ich nen einzelnen Step springt das Programm sonst wo hin, 
aber nicht zum nächsten Befehl.

Weiß einfach nicht wo der Fehler liegt. Auf alle Fälle Danke im 
Vorhinein.

Gruß

fox

von YS-500 (Gast)


Lesenswert?

Könntest ja das File anhängen zum testen.

von af80 (Gast)


Lesenswert?

Mach aus Mein() in main() dude!

von fox (Gast)


Lesenswert?

Probiers momentan nur mit ner einfachen main funktion, die zwei integer 
Variablen einen Wert zuweist. Und nicht mal des geht. Spring direkt ans 
Ende von main.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Könntest ja das File anhängen zum testen.

von YS-500 (Gast)


Lesenswert?

Ja, dann zeig's doch mal her.
Oder ist es geheim?

von fox (Gast)


Lesenswert?

Ok. Das wär mal mein einfacher Test.

von fox (Gast)


Angehängte Dateien:

Lesenswert?

Irgendwie wars nicht dabei.

von Gerald D. (saleru)


Lesenswert?

Ahlso meine erste Vermutung wären die Compileroptimierungen. Wenn du wie 
du sagtest nur eine sehr einfache Funktion hast, dann kann es sein dass 
diese vom Compiler wegoptimiert wurde.

AvrStudio geht beim debuggen her und nimmt sich für die Zeilenreferenzen 
den generierten Assemblercode. Wenn also der Compiler deine einfache 
Funktion von zB 3 Zeilen auf eine optimiert hat dann würde auch beim 
debuggen alles wie eine einzelne Zeile übersprungen.

Zum Testen kannst du die Optimierungen ausschalten. Das machst du indem 
du unter "Project->Configuration Options" im Dropdown bei Optimization 
anstatt -Os einfach -O0 auswählst, dann sollte alles exakt übernommen 
werden beim compiliern.

lg,
Gerald

edit: ah seh grad deinen code im anhang ... ja genau das ist ein 
beispiel dafür was beim compiliern wegoptimiert wird ;)

von fox (Gast)


Lesenswert?

Vielen Dank. Das war das Problem. Über die Optimierung bin ich auch 
schon drübergeflogen und dachte -Os bedeutet Optimierung aus. Mit -O0 
klappt alles wunderbar.

Vielen Dank für eure Hilfe.

Gruß Marco

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.