www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik JTag ICE mk 2 mit stk500


Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir jemand weiter helfen?
Will das JTAG ICE MK 2 mit dem STK500 verbinden. Verwende dazu einen 
ATmega 162 in Sockel SCKT3000D3. Im SPI Mode kann ich den 
Mikrocontroller programmieren aber im JTAG mode sagt er mir:" Failed to 
identify target"
Mein JTAG ICE MK 2 ist mit dem STK500 JTAG Adapter verbunden (im JTAG 
mode).
Das JTAG Enable bit ist gesetzt. Der RST Jumper am STK500 ist entfernt. 
Die neuste Firmware ist für das JTAG geladen. Weiß nicht weiter!

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du den richtigen Stecker am JTAG-Adapter benutzt?  Einer ist
für die "Analog"-AVRs (also die mit ADC) da, der andere für die
"Industriestandard"-AVRs (Pinout wie beim 8051, das wäre auch für
den ATmega162 der Fall).

"Failed to identify target" heißt, dass kein Stück JTAG-Kommunikation
zum Laufen kommt.

Den Reset-Jumper kannst du übrigens (im Gegensatz zu debugWIRE) drin
stecken lassen.  JTAG braucht normalerweise keinen externen Reset,
und selbst wenn, dann schafft das ICE es problemlos, sich über die
Logik des STK500 hinweg zu setzen.

Wenn's dann immer noch nicht geht, musst du wohl direkt an den
Controllerpins mit dem Oszi die einzelnen JTAG-Signale mal verfolgen.

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörg,
benutze den richtigen Sockel hab darauf geachtet. Dort steht ebenfalls 
SCKT3000D3 drauf. Werde es jetzt mal so probieren, dass ich direkt auf 
die PINS gehe ohne Adapter Platine zu verwenden.
P.s. vielen Dank für die Antwort

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin jetzt direkt auf die PINS gegangen und siehe da, es funktioniert. 
Ist jedoch komisch, da diese Adapterplatine doch genau dafür gemacht 
ist!

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Adapter in die falsche Fassung gesteckt?  Der gehört in den
EXPAND0, wobei die JTAG-Stecker vom STK500 gesehen nach außen
zeigen müssen.

Ich habe den Adapter zwar noch nie mit einem ATmega162 benutzt,
dafür aber den anderen der beiden Stecker bereits sehr oft, zumeist
mit einem ATmega16.

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank!
Hatte den Adapter in EXPAND1.
Jetzt klappt es auch.

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir noch jemand sagen, ob ich auch in Echtzeit debuggen kann?
Ich habe einen RTC an den MC gepackt und würde gerne sehen wie die 
Register arbeiten, jedoch funktioniert das ja nicht beim drücken der F10 
oder F11 Taste

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tommy wrote:
> Kann mir noch jemand sagen, ob ich auch in Echtzeit debuggen kann?

Wie soll das gehen?  Sowie der Prozessor eine Interaktion mit dem
Debugger macht, kannst du ja nicht die Zeit anhalten.

Solange du auf dem AVR selbst bleibst, geht es einigermaßen: die
Voreinstellung des JTAG ICE ist, dass die Timer beim Stoppen der
CPU ebenfalls gestoppt werden.

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Würde das bedeuten, wenn ich oft genug auf F10 drücke, kommt er 
irgendwann in die Scheife wenn Timer==5 ist?
Timer ist eine Variable, die hochgezählt wird, wenn ein Timer2 overflow 
stattfindet.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vermutlich, aber ich habe keine Ahnung, was bei dir die Taste F10
denn macht. ;-)

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit der Taste F10 geht der debugger in die nächste Zeile des 
Quelltextes.
Ich habe es ausprobiert aber in die TIMER==5 Schleife geht er nicht 
rein.

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie klappt das denn dann überhaupt mit externen Interrupts?
Der MC steht ja quasi still, wie kann er dann auf einen Interrupt 
reagieren?
Gruß Tommy

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht kann TIMER ja nie den Wert 5 erreichen?

Sorry, ohne Code wird dir da keiner helfen können.  Mach aber bitte
einen neuen Thread auf, hat ja mit dem JTAG ICE selbst nun nichts
mehr zu tun, denn das funktioniert ja bei dir.  (Eine klare
thematische Trennung der Threads ist für die Leute, die über
Suchfunktionen hier herein kommen, sinnvoll.)

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja es hat schon mit dem JTAG zu tuen. Wenn ich ihn nicht benutze 
funtkionieren ja alle Interrupts, aber ich würde gerne mit dem JTAG 
sehen wie die Register funktionieren, wenn ein externer Interrupt 
ausgelöst wird.
Doch vielleicht kann das JTAG das gar nicht leisten, da ja beim debuggen 
der MC stillsteht. Lass ich das Programm normal laufen funktioniert ja 
alles.

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werde morgen weiter probieren.
Vielen Dank noch mal!

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Doch vielleicht kann das JTAG das gar nicht leisten, da ja beim debuggen
>der MC stillsteht. Lass ich das Programm normal laufen funktioniert ja
>alles.

Mach doch einfach einen Breakpoint an den Einsprungpunkt der ISR. Fertig 
ist es.

MfG Spess

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke, das ist wahrscheinlich die einzige Lösung! Ich habe es vorher 
immer so gelöst, dass ich an der zweiten UART eine Ausgabe gemacht habe. 
Ich dachte, dass ich das JTAG so einstellen könnte, als ob ich durch 
eine durchsichtige Scheibe in eine Maschine gucken könnte und dann die 
Zahnräder im laufenden Betrieb sehe. Aber so leicht geht das wohl nicht. 
Macht ja auch Sinn, da wie Jörg schon sagte, der MC ja etwas machen muss 
um die JTAG Schnittstelle betreiben zu können und dafür muss er ja das 
Programm unterbrechen.
Werde es mit den Breakpoints mal ausprobieren!
Danke für die Antwort

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.