Forum: Mikrocontroller und Digitale Elektronik debugWire funktioniert nicht richtig ?


von tom (Gast)


Lesenswert?

Hallo,
ich benutze JTAGICE MKII, die neuste Version von AVR Studio,
STK500 und einen tiny25.

Folgendes Problem tritt auf.

Wenn ich über das STK500 die DWEN Fuse setze, findet der MKII das Device 
nicht.
Wenn ich einen fabrikneuen tiny25 einsetze und ohne Veränderung an den 
Fuses versuch mit dem mkII zu debuggen, bekomme ich die Option 
angeboten, die DWEN Fuse setzen zu lassen. Wenn ich das tue, bekomme ich 
eine Erfolgsmeldung, kann danach aber nicht mehr auf den tiny zugreifen.

In beiden Fällen komme ich auch per SPI nicht mehr an die Fuses.

?????????

von Ralf R. (voltax)


Lesenswert?

Hallo Tom,

eine wirklich Lösung habe ich nicht, aber ähnliche Probleme mit meinem 
AVR-Dragon an einem ATmega168. Wenn der debugWire-Modus erstmal aktiv 
ist, dann funktioniert der perfekt. Aber das Umschalten zwischen 
debugWire-Modus und ISP-Modus ist reine Glücksache.

Im laufenden Debugger den debugWire-Modus abzuschalten geht meistens gut 
(aber nicht immer), aber zurück von ISP nach debugWire ist ein Krampf. 
Ich bin dabei auch schon in Zuständen gelandet, wo es so aussah, als 
könne ich den Prozessor nun mit überhaupt nichts mehr erreichen. Aber 
AusUndEinSchalten aller beteiligten Komponenten hat dann doch noch 
geholfen. Mir ist aufgefallen, dass die Probleme drastisch größer 
werden, wenn die Fuse "Divide Clock by 8 Internally" aktiv ist.

Ich hoffe auf den nächsten Patch fürs AVRStudio.

BTW: Wie lang darf eigentlich das ISP-Kabel maximal sein?

Grüße Ralf

von Dirk (Gast)


Lesenswert?

>...wenn die Fuse "Divide Clock by 8 Internally" aktiv ist.

schonmal drueber nachgedacht das die ISP Freq. maximal 1/4 der F_CPU 
betragen darf??

von Ralf R. (voltax)


Lesenswert?

>>...wenn die Fuse "Divide Clock by 8 Internally" aktiv ist.

>schonmal drueber nachgedacht das die ISP Freq. maximal 1/4 der F_CPU
>betragen darf??

jepp, ist mir bekannt.

bei dem o.g Fall war ein 18,432MHz Quarz angeschlossen, und ich habe es 
mit ISP-Frequenzen von 1MHz, 500Hz und 250Hz getestet.

Grüße Ralf

von tom (Gast)


Lesenswert?

So einigermassen funktioniert es jetzt auch bei mir.

debugWire einschalten kann ich jetzt und dann auch vernünftig debuggen.
Zurück nach SPI komm ich aber nicht. Damit kann ich im moment leben da 
im echten System der Reset-Pin eh als IO verwendet wird und SPI dann eh 
nicht geht.
grüße tom

von AVR-User (Gast)


Lesenswert?

Man lese folgendes Dokument: 
http://www.atmel.com/dyn/resources/prod_documents/doc2562.pdf

Um über debugWire zu debuggen ist das Programmieren über SPI nicht 
möglich. Um über SPI zu programmieren muss debugWire wieder deaktiviert 
werden. Wie das funktioniert siehe "Re-enabling the ISP Interface".

von Ralf R. (voltax)


Lesenswert?

[Nachtrag]

ich habe mein ISP-Kabel in der Mitte durchgeschnitten, und zwei neue 
Stecker aufgepresst, woduch ich jetzt zwei optisch gleiche ISP-Kabel mit 
je 15cm Länge habe.

ABER:

- Mit einer der beiden Kabel-Hälften klappt alles wunderbar, 
debugWire-Mode nach ISP-Mode und zurück macht keine Probleme, besser als 
vorher.

- Mit der anderen Hälfte kann man auch prima debuggen, und auch im 
ISP-Modus programmieren, NUR das Umschalten von debug-Wire nach ISP geht 
nicht. Habs vielemale probiert, der Effekt ist reproduziernbar.

also nochmal, beide Kabel sind optisch gleich, und mit beiden Kabeln 
kann man programmieren und debuggen, aber nur mit dem einen klappt das 
Umschalten von debugWire-Modus nach ISP-Modus. Das andere "schlechte" 
Kabel hab ich duchgeklingelt, aber es scheint in Ordnung zu sein. Find 
ich irgendwie komisch.

Grüße Ralf





von AVR-User (Gast)


Lesenswert?

Also Ich hatte mit dem JTAGICE MKII ebenfalls Probleme mit ISP 
Programmierung und längerem Kabel und weiterem Steckverbinder. Scheint 
wohl sehr empfindlich zu sein was das angeht. (gleiches System mit 
kurzem Kabel und ohne zusätzlichen Steckverbinder funktioniert...).

von AVR-User (Gast)


Lesenswert?

Achja mit dem Umschalten hatte ich bisher keine Probleme nur mit dem 
Programmieren selbst...

von tom (Gast)


Lesenswert?

scheint wirklich ein Problem mit den Kabeln zu sein.
wenn ich die RST-Leitung des MKII direkt an den RST-PIN des AVR hänge, 
klappt alles wunderbar. Nehme ich die entsprechenden Header-PINs vom 
STK500 klappts nicht immer.

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.