Forum: Mikrocontroller und Digitale Elektronik JTAG AVR Debugging


von Benjamin K. (exs)


Lesenswert?

Moin,

ich habe einige Probleme mit meinem JTAG ICE mk2 und einer Testplatine, 
bestückt mit einem ATmega64. Da ich den Controller von Hand gelötet 
habe, sind wohl einige Pins nicht ganz sauber verlötet/kontaktiert.

Programmieren des Controllers über ISP funktionierte allerdings auf 
Anhieb. Jetzt wollte ich mal ein Programm debuggen und habe dabei das 
Problem mit den nicht ganz sauber kontaktierten Pins festgestellt, weil 
mir über JTAG unsinnige Controller Signaturen angezeigt wurden.

Das Problem hab ich jetzt gelöst und stehe vor dem nächsten. Zum 
Programmieren benutzte ich AVR Studio. Wenn ich in den Debug-Modus 
wechsle und Schrittweise das Programm durchlaufen will, bleibt der gelbe 
Pfeil auf der "main" stehen. Setze ich einen "breakpoint" innerhalb des 
Funktionskörpers bekomme ich folgende Fehlermeldung beim Starten des 
Debugmodus

"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?"

Das Testprogramm ist sehr einfach gehalten und hat folgenden Aufbau
1
#include <avr/io.h>
2
#include <stdlib.h>
3
4
int main(void) {
5
6
  while(1);
7
8
  return 0;
9
}

Programmieren über JTAG klappt anscheinend Fehlerfrei.

Woran könnte das liegen?

von Schlaumeier (Gast)


Lesenswert?

Optimierung ausgeschaltet? (-O0)

von Benjamin K. (exs)


Lesenswert?

Das Problem besteht auch in dieser Einstellung

von AVR (Gast)


Lesenswert?

Änder das mal in

while(1)
{
__asm("nop");
}

ab. Das mit dem Fehler ist normal. Schau dir im Debug mal den ASM Source 
an, da steht nur ein Jump auf dem er rumkloppt.

von Benjamin K. (exs)


Lesenswert?

Danke jetzt funktioniert es

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.