Forum: Mikrocontroller und Digitale Elektronik Debugging ATtiny1634


von Hans-Georg L. (h-g-l)


Lesenswert?

Ich bin schon ein paar Jährchen im Geschäft und habe schon etliche 
Micros unter der Fuchtel gehabt ;)

Jetzt brauchte ich schnell einen kleinen MC mit 2 Seriellen 
Schnittstellen und hab mir den Tiny1634 ausgesucht. Mein erster AVR ;)
Das Programm war schnell geschrieben und auch der Adapter für das 
JTAGICE war schnell gebaut. AVR Studio hat das JTAGICE und den Chip 
erkannt alles super ...

So jetzt wollte ich mir im Debugger die Kommunikation der 2 Geräte, die 
an den Uarts Hängen anschauen und hab dazu die Debug enable Fuse (DWEN) 
gesetzt und nun geht nichts mehr. Der Chip wird nicht mehr vom Studio 
erkannt.

Das Datenblatt meint dazu "Programming this fuse bit will change the 
functionality of the RESET pin and render further
programming via the serial interface impossible."

Die Fuse lässt sich natürlich nur über HV-Parrallel Programming wieder 
zurücksetzen.

Hää was soll denn das ? Was macht das für einen Sinn ?

Ich hab ja schon viel schreckliches über die AVR-Fuses gelesen ...
Wenn ich mal wieder was auf die Schnelle brauche, es gibt ja noch die 
guten alten 8051 ohne fuses ;)

von spess53 (Gast)


Lesenswert?

Hi

>Die Fuse lässt sich natürlich nur über HV-Parrallel Programming wieder
>zurücksetzen.

Nein. Die DW-Fuse kann auch im Debug-Mode über DebugWire zurückgestellt 
werde.

MfG Spess

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Vllt mal vorher lesen bevor man irgendwo rumschraubt ;)

Weil Debugwire eben übern Resetpin geht.
Haste denn nen Debugwire gerät am PC?

Hans-Georg Lehnard schrieb:
> So jetzt wollte ich mir im Debugger die Kommunikation der 2 Geräte, die
> an den Uarts Hängen anschauen

Dazu einfach nen UART zu USB Wandler daneben hängen und am PC aufs 
Terminal starren.

von Hans-Georg L. (h-g-l)


Lesenswert?

> Dazu einfach nen UART zu USB Wandler daneben hängen und am PC aufs
> Terminal starren.

Gute Idee aber da seh ich nicht die Zustände der Statemachine im Tiny ;)

von Hans-Georg L. (h-g-l)


Lesenswert?

spess53 schrieb:
> Hi
>
>>Die Fuse lässt sich natürlich nur über HV-Parrallel Programming wieder
>>zurücksetzen.
>
> Nein. Die DW-Fuse kann auch im Debug-Mode über DebugWire zurückgestellt
> werde.
>
> MfG Spess

Das datenblatt meint dazu: the fuse (DWEN) bit can be unprogrammed using 
the parallel programming algorithm ... Seite 223

von spess53 (Gast)


Lesenswert?

Hi

>Das datenblatt meint dazu: the fuse (DWEN) bit can be unprogrammed using
>the parallel programming algorithm ... Seite 223

Und die Hilfe zum Dragon sagt folgendes:

To disable the debugWIRE interface, use high-voltage programming to 
unprogram the DWEN fuse. Alternately, use the debugWIRE interface itself 
to temporarily disable itself, which will allow SPI programming to take 
place, provided that the SPIEN fuse is set.

Beim AVR Studio 4.19 funktioniert das so:

Wenn du im Debugmode bist, wählst du im Menü 'Debug->AVR Dragon Options' 
an.

Dort findest du einen Punkt 'Disable Debug Wire'.

MfG Spess

von Hans-Georg L. (h-g-l)


Lesenswert?

spess53 schrieb:
> Hi
>
>>Das datenblatt meint dazu: the fuse (DWEN) bit can be unprogrammed using
>>the parallel programming algorithm ... Seite 223
>
> Und die Hilfe zum Dragon sagt folgendes:
>
> To disable the debugWIRE interface, use high-voltage programming to
> unprogram the DWEN fuse. Alternately, use the debugWIRE interface itself
> to temporarily disable itself, which will allow SPI programming to take
> place, provided that the SPIEN fuse is set.
>
> Beim AVR Studio 4.19 funktioniert das so:
>
> Wenn du im Debugmode bist, wählst du im Menü 'Debug->AVR Dragon Options'
> an.
>
> Dort findest du einen Punkt 'Disable Debug Wire'.
>
> MfG Spess

Sorry, ich habe keinen Dragon sondern wie beschrieben einen JTAGICE mkII 
und ein AVR Studio 6. Ein STK 500 habe ich auch noch aber da muss ich 
mir
wahrscheinlich auch erst einen Adapter bauen.

Aber danke für den Hinweis .. ich schau mal heute Abend

von Hans-Georg L. (h-g-l)


Lesenswert?

Ich habe jetzt die Online-Doku gefunden ... 
http://www.atmel.no/webdoc/jtagicemkii/jtagicemkii.special_considerations_debugwire.html

Da steht, wie man temporär debugWIRE disablen kann, dann wieder im ISP 
landet wo man die Fuse zurücksetzen können soll. Mal sehen ...

Jetzt muss ich erst mal in der Firma einen Arm9 debuggen ;)

von Hans-Georg L. (h-g-l)


Lesenswert?

Funktioniert nicht, weil der Menübefehl "disable debugWire and close", 
der das temporäre rückseztzen auf iSP machen soll, im Atmel Studio 
deaktiviert ist. :(

Ist doch toll ..

ISP funktioniert nicht, wegen gesetzter DWEN Fuse.
DebugWire funktioniert nicht, weil AVR Studio meint das Target wäre noch 
im ISP Modus.

Solche Tools liebe ich, die halten so schön auf, wenn man schnell mal 
was machen will ;)

Und noch was ..

Das Progrämmchen, das ich jetzt auf den Tiny portieren wollte war nach 2 
Stunden auf dem achso komplizierten FX2 fertig und getestet ...

Fazit: Mein erster Ausflug in die AVR Welt hat mich noch nicht so 
richtig überzeugt ;)

von Spess53 (Gast)


Lesenswert?

Hi

>Funktioniert nicht, weil der Menübefehl "disable debugWire and close",
>der das temporäre rückseztzen auf iSP machen soll, im Atmel Studio
>deaktiviert ist. :(

Warst du im Debugging Mode? Im 4er Studio ist der Menüpunkt nur aktiv 
wenn das Debugging gestartet ist.

MfG Spess

von Hans-Georg L. (h-g-l)


Lesenswert?

Der Debugger lässt sich nicht starten, weil der Tiny angeblich im ISP 
Mode ist...

Mit einem anderen neuen Chip funktioniert ISP aber es lässt sich nicht 
debuggen.

von Hans-Georg L. (h-g-l)


Lesenswert?

Ich habe noch einen ISP-Programmer von der Firma Stange, den hab ich 
jetzt mal installiert., aber der kennt den Tiny1634 leider nicht :(

STK500 kann kein debugWire .. oder ?

von Peter D. (peda)


Lesenswert?

Hans-Georg Lehnard schrieb:
> Das Progrämmchen, das ich jetzt auf den Tiny portieren wollte war nach 2
> Stunden auf dem achso komplizierten FX2 fertig und getestet ...

Und wieviel Tage hast Du vorher schon mit dem FX2 gearbeitet im 
Vergleich zum AVR?
Man braucht bei etwas neuem immer eine Einarbeitungszeit.

Wenn das Debugwire prinzipiell nicht ginge, hätten sich schon vor Dir 
welche aufgeregt.
Es wäre auch klug gewesen, bei Problemen zu sagen, welche Version des 
AVR Studio Du benutzt.


Peter

von Hans-Georg L. (h-g-l)


Lesenswert?

Hallo Peter,

soviel hatte ich vorher auch noch nicht mit dem FX2 gearbeitet.
Aber es war ja auch kein grosses Problem 2 serielle Schnittstellen zu 
initialisieren und eine Debugausgabe über USB zu machen;)

Ich nehme schon an, das debugWire grundsätzlich und im Normmalfall 
funktioniert. Das JTAGICE mkII ist mir zugelaufen und eine ältere 
Version und ich vermute eher, das es daran liegt. Avr-Studio ist die 6er 
Version, also das Neueste was es gibt. Was mich an der ganzen Sache nun 
wirklich stört, ist die Abhängigkeit von Versionen (Hard und Software) 
und die ungenügende Dokumention dieser.

Ich möchte niemand die AVR's verleiten und was ich geschrieben habe ist 
meine private und völlig unaufgeregte Meinung;

Gruß

Hans-Georg

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

http://support.atmel.com/bin/customer.exe?=&action=viewKbEntry&id=22

Ich selber habe das Debugging noch nie benutzt.
Zu Anfang (1997) gab es dafür noch nichts und es ist ja immer noch sehr 
teuer.
Der AVR ist ja relativ einfach gestrickt, daß man mit UART-Ausgaben oder 
dem Simulator auskommt.
Ist die UART nicht verfügbar, kann man auch einfach eine SW-UART 
stricken (siehe Anhang).


Peter

von Hans-Georg L. (h-g-l)


Lesenswert?

Hallo Peter,

danke für den Code aber die beiden UARTS sind nicht das Problem, darüber 
gibts genügend Informationen. Aber zwischen den beiden Uarts gibt es 
eine Statemachine deren Zustände ich mir mit dem Debugger ansehen 
wollte. Die ganze Schaltung ist für Demonstationszwecke, aber geht an 
wichtige Leute und da wäre ich gerne sicher, das nichts unerwartetes 
passiert.

Der Tiny ist von den Abmessungen ideal aber kein DIL das du einfach aus 
der Fassung ziehen kannst um ihn wieder über HV-Programmierung in einen 
arbeitsfähigen Zustand setzen kannst. Das bedeutet für mich auslöten 
HV-Adaper bauen, "umfusen", wieder einlöten oder einen neuen bestellen. 
Das ist für mich alles unnötige Arbeit und kostet Zeit.

Und was hab ich wieder mal, so kurz vor der Rente, daraus gelernt ? ...

Soll etwas schnell und unkompliziert gehen, darf man kein neus Pferd 
zäumen ;)

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.