Forum: Mikrocontroller und Digitale Elektronik Atmel Studio 6 beim Einzelschritt Debuggen asynchron


von Holler (Gast)


Lesenswert?

Habe mich jetzt mal ein Projekt unter Atmel Studio 6.0 auf einem XMega 
gestartet.
Debugger ist ein AVRICE MKII, angeschlossen über PDI. Es handelt sich um 
eine eigene Hardware, außerdem nutze ich das ASF. Gcc Optimierungsstufe 
q1.

Mich wundert, dass beim Debuggen im Einzelschritt "Step over" bzw F10 
die Ansicht (Programm-Cursor) in der IDE stark dem tatsächlichen 
Programmlauf hinterherhinkt.
Kann eine Zeile sein, sind auch manchmal bis zu drei, d.h. der uC hat 
u.U. schon die nächsten drei Unterfunktionen abgearbeitet.

An Breakpoints hält das Programm zuverlässig an, aber der "Step over" 
ist kaum zu gebrauchen und "Step into" / F11 unter der zerklüfteten ASF 
wenig sinnvoll.

Hatte jemand ähnliche Probleme, kann man das unkontrollierte "Vorlaufen" 
irgendwie verhindern?

Mit einefachen Megas unter Studio4 habe ich am gleichen Debugger sowas 
nie gesehen.

von Herbert F. (Gast)


Lesenswert?

Schalte mal die GCC Optimierungen komplett ab.

von Holler (Gast)


Angehängte Dateien:

Lesenswert?

Habe die Optimierung ganz ausgestellt, bringt aber nichts.

Anbei ein kleiner Code-Auschnitt als Screenshot:
Der Programmcursor steht am gelben Pfeil, aber es wurde schon die 
Routine
lcd_command(0x01) abgearbeitet. Sieht man eindeutig an angeschlossenen 
Geräten.
Die Unterroutinen haben etliche Zeilen Code. Prefetch oder so kommt 
nicht in Frage.

Und wenn man im Einzelschritt weitergeht, springt die IDE plötzlich 
unvermittelt an die absurdesten Stellen im Code.

Wie gesagt, Breakpoints gehen einwandfrei.

von Martin (Gast)


Lesenswert?

Habs nicht im Kopf, aber bei den Einstellungen für Simulator gabs
die Optionen das das Unterprogramme nicht einzel angesprungen werden.
Das ist per deault an.

Siehst du schön am PC der Springt dann lustig rum...

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.