ATmega16 ignoriert JTAG Befehle

Gast #1654330
Lesenswert?

Hallo!

Ich versuche schon seit längerem einen ATmega16 mit eine selbst 
entwickelte Software für Keil ULink und über JTAG zu programmieren. Ich 
konnte die Software bereits so weit testen, dass ich sicher bin, dass 
beim auführen einse Befehl das richtige gemacht wird. Das heißt die 
JTAG-State-Machine wird richtig durchlaufen und z.B. wenn ich Daten aus 
dem DR schiebe diese am PC richtig ankommen, weiters werden auch immer 
die richtigen Daten in das DR geschoben.
Jetzt zu meinem Problem:
Wenn ich z.B. die Signature Bytes auslesen möchte führe ich alle 
Schritte wie im Datenblatt beschrieben aus (S.290 
http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf).
Die Signature Bytes die ich bekomme sind jedoch alle auf NULL, das kann 
laut Datenblatt nicht sein.
Nach einigen Test bin ich jetzt darauf gekommen das ich die Befehle, die 
ich in das DR (in diesem Fall 15 bit PCR Register) schiebe, beim 
nächsten Durchlauf (nach einer Runde in der State-Machine) wieder aus 
dem Register schiebe, jedoch das 2.Byte, in welchem die Signature bytes 
eingetragen sein sollten immer auf NULL gesetzt wird.
Somit kann man sagen das der µC meine Befehle ignoriert bzw. die 
Rückgabedaten immer auf Null setzt.

Hat vielleicht irgendjemand eine Idee woran das liegen kann?

Grüße
Manuel
Gast #1654357
Lesenswert?

Datenblatt S. 282:

The Programming Command Register is a 15-bit register. This register is 
used to serially shift in programming commands, and to serially shift 
out the result of the previous command, if any.

Über die Instruction PROG_COMMANDS habe ich dieses Register ausgewählt, 
was laut meinen Test auch funktioniert haben sollte, da ich immer 15-Bit 
auslese bzw. schreibe und keine Bitverschiebungen erhalte und es das 
einzige 15-Bit Register ist.
Laut der Erklärung auf S.284 die Signature bytes auszulesen sollte alles 
also über diese Register laufen, oder verstehe ich da etwas falsch?
Gast #1655127
Lesenswert?

ich verwende dabei ein OLIMEX AVR-P40-USB evaluation board. Ich bin 
nicht sicher ob der ATmega der darauf sitzt schon einmal verwendet wurde 
und ob die fuses vielleicht falsch gesetzt sind.
Könnte das ein Grund sein?

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