AVR Studio - Breakpoints in ISR benutzen?

Gast #605757
Lesenswert?

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!
#605767
Lesenswert?

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?
Gast #605775
Lesenswert?

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 ^^

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren