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.
Schalte mal die GCC Optimierungen komplett ab.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.