Hilfe! AT91SAM7X via JTAG direkt Programmieren

OP #2042998
Lesenswert?

Ich habe folgendes Problem. Ich will den AT91SAMX512 direkt per JTAG und 
ICEBreaker programmieren.
Ich habe die Scan Chain 2 (ICEBreaker) aktiviert und kann die 
ICEBreaker-Registers beschreiben und auslesen.
Zum Beispiel, ich schreibe zwei verschiedene Werte in 
Watchpoint_0_und_1_Address_Registers (0x08 und 0x10) und kann diese 
Werte korrekt auslesen.
Allerdings, wenn ich den 'Debug Comms Data Register'-Register (0x05) mit 
einer Kommando beschreibe, bleibt der 'Debug Comms Control'-Register 
(0x04) für immer 0x100000001, so dass es scheint für mich, dass der 
ICEBreaker gar nichts aktiv ist, und holt das Kommando nicht ab.
Gibt es, was ich noch zusätzlich aktivieren soll, damit es funktioniert?
Gast #2741031
Lesenswert?

Hallo.

Mögliche Ursache: Der JTAG Run-Test/Idle state.

Bei der JTAG-Variante von FFPI scheint es sich - wie bei SAM-BA um Code 
in einem ROM zu handeln.

Der Run-Test/Idle state hat bei ARM7TDMI eine besondere Bedeutung 
(Leider fehlt dieser Hinweis im SAM7-Manual):

Beim Warten auf den (laufenden) Chip muss man in diesem Zustand warten. 
Ansonsten wird die CPU eventuell gestoppt!

Bei anderen Aktionen (z.B. bei gestopptem Prozessor) darf dieser Zustand 
nicht durchlaufen werden.

Ich hoffe, dass das hilft.

Martin

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