www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Studio - Breakpoints in ISR benutzen?


Autor: Konrad (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: M. Bode (mbode001)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Konrad (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.