Forum: Mikrocontroller und Digitale Elektronik ATtiny2313 avrdude Yikes! Invalid device signature.


von Fabian S. (fabian727)


Angehängte Dateien:

Lesenswert?

Hallo liebe Forenmitglieder,

inzwischen habe ich einen Umstieg von Windows auf Ubuntu hinter mir und 
meine Entwicklungsumgebung neu eingerichtet.

Mein Versuch einen ATtiny261A mit avrdude zu programmieren gelang.
Nun wollte ich dies mit einem ATtiny2313A wiederholen, dieser weigert 
sich jedoch.

Mein "Versuchsaufbau" besteht aus einem nackten ATtiny, angeschlossen 
über ein ISP-Kabel zu einem AVR-Dragon. Desweiteren existiert ein 4.7k 
Widerstand als Pull-Up für die RESET-Leitung. Ebenfalls ist die 
Spannungsversorung mit der des Dragon verbunden. (Auf dem Bild auch 
erkennbar, dass ein HIGH-Pegel anliegt und nachgemessen: 4,97 V)

Ich rufe avrdude mit folgender Zeile auf:
avrdude -pt2313 -cdragon_isp -Uflash:w:attiny2313_softtimer.hex:a

Und bekomme zurück:

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.15s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 
0.15s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 
0.15s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.


Die Device Signature wandelt zwischen: 0x003f00, 0x3f0000, 0x003fff, 
0x0c0000

Ich habe die Leitungen mehrmals sowohl optisch als auch mit einem 
Messgerät durchgeprüft (auf Verbindung und Kurzschluss) und konnte dabei 
nichts negatives feststellen.

Ich habe die Baudraute zwischen: 112500, 19200, 9600 und 4800 
gewechselt, jedoch ohne weitere Erfolge.
Inzwischen habe ich sogar einen LogicAnalyzer angeschlossen. Resultat 
ist dem angehängten Bild entnehmbar.
Für mich sieht es weder nach Kurzschlüssen, noch nach fehlenden 
Verbindungen aus.

Wer kann mir weiterhelfen? Was kann ich noch ausprobieren? So langsam 
bin ich frustriert.

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Vielleicht fehlt da noch ein -B10?

Ein AVR hat ab Werk 1 MHz CPU-Takt (einige wenige auch 1,2 MHz), und
der ISP-Takt muss weniger als ein Viertel davon sein.

Mit -B10 bist du bei 100 kHz, das sollte ausreichen.

von Fabian S. (fabian727)


Lesenswert?

Es hat funktioniert. Vielen Dank, endlich kann ich mit dem programmieren 
wieder anfangen / weitermachen.

Wofür steht das -B?

Laut Hilfe:
  -B <bitclock>              Specify JTAG/STK500v2 bit clock period 
(us).

Ich verwende ja aber ISP statt JTAG.
Bis jetzt dachte ich, dass ich über die Baudrate ( -b) diese 
Geschwindigkeit (vom ISP) einstellen kann. Wozu gehört die Baudrate? 
USB?

Nochmal vielen vielen Dank

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Fabian S. schrieb:

> Wozu gehört die Baudrate?
> USB?

Zu seriellen Schnittstellen, mit denen das vor mehr als einem Jahrzehnt
mal angefangen hat, bspw. bei AVR109-Programmer.

von Fabian S. (fabian727)


Lesenswert?

existiert diese serielle Schnittstelle bei einer heutigen Verbindung 
noch? Bzw. wird die über USB simuliert? Also kann ich damit wirklich 
noch etwas einstellen oder ist das inzwischen ein Blind-Wert?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Fabian S. schrieb:
> existiert diese serielle Schnittstelle bei einer heutigen Verbindung
> noch? Bzw. wird die über USB simuliert?

Teils, teils.  Wenn du irgendwas über einen FTDI angebunden hast
oder eine CDC-Implementierung in einem Controller (Communication
Class Device), dann gibt es die Baudrate zumindest noch.  Inwiefern
sie tatsächlich benutzt wird, ist eine Frage, wie die benutzte
Hardwere konkret aussieht.

Tools wie Dragon, JTAGICEmkII, JTAGICE3 benutzen diesen Parameter
jedoch einfach nicht, da sie ihr eigenes USB-Protokoll fahren, welches
keine serielle Schnittstelle emuliert.

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.