Hallo Leute! Verzweifle hier gerade vor meinem AVR Board. Wenn ich mit AVR Studio (mit WinAVR) Breakpoints in eine ISR (oder eine Funktion, die von der ISR aufgerufen wird) setze (egal wo, egal wie viele), und das ganze dann debuggen will (JTAG), bekomme ich immer folgende Fehlermeldung: "One or more Breakpoints or Tracepoints could not be set and have been disabled. The program has been stopped at the reset vector. Do you want to continue execution?" Breakpoints die ich z.B. in die Main Funktion setze funktionieren hingegen tadellos! Beim debuggen wurde der Breakpoint dann durch einen durchsichtigen Kreis mit Ausrufezeichen drin ersetzt. Wenn man dort mit rechts draufklickt und sich die Properties anschaut, steht dort folgende Warnung: "Unable to bind Line 113 in file main.c to a program memory address" Dabei ist Line 113 die, in der der Breakpoint stehen sollte. Beide Versionen von WinAVR und AVRStudio sind top aktuell. Was mache falsch???? Danke!
Sieh mal in Dein Assembler Listfile, ob die Zeilen, auf die Du Breakpoints setzen möchtest im späteren Code überhaupt existieren oder nicht vom Compiler wegoptimiert wurden! Ich debugge mit AVR-Studio + WinAVR + AVR-Dragon und habe keine Probleme mit Breakpoints in ISRs. Aber die Fehlermeldung habe ich auch schon gehabt, wenn ich auf einer wegoptimierten Zeile anhalten wollte. Häng doch mal Deinen ISR Code an. Tut der überhaupt etwas?
In dem Code tue ich nicht wirklich viel (nur dummy Zeugs). Etwa so: char a = 0; a++; if( a > 0 ) { char b = a+1; } else { a--; } Könnte natürlich sein, dass das wegoptimiert wird, weil es ja für den Rest des Programms überhaupt keine Auswirkungen hat. Ich werde dem mal nachgehen ^^
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.