Hallo,
ich versuche seit Tagen den Fehler zu finden - und bin kurz vorm
Aufgeben.
Folgendes Verhalten tritt bei mir auf: ich kann über SPI die Fuses
auslesen und setzen. Den Upload kann ich nicht ausführen.
Der Output von den Fuses:
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
4
avrdude: AVR device initialized and ready to accept instructions
5
avrdude: Device signature = 0x1e9007
6
avrdude: reading lfuse memory:
7
avrdude: writing output file "LOW.tmp"
8
avrdude: reading hfuse memory:
9
avrdude: writing output file "HIGH.tmmp"
10
11
avrdude: safemode: Fuses OK
ergibt folgende Konfiguration:
1
LOW: 0x6a
2
HIGH: 0xff
Der Upload der Software bringt folgende Fehlermeldung;
1
2
avrdude: verifying ...
3
avrdude: verification error, first mismatch at byte 0x0000
4
0x09 != 0xff
5
avrdude: verification error; content mismatch
Ich programmiere seit einiger Zeit Erfolgreich ATmega's. Auf dem Tiny
bin ich neu. Für ein Projekt brauche ich viel kleine tinys und habe mir
ein Sack-Voll bestellt. Auf meinem Programmer-Board soll ich entweder
einen Mega328 programieren können, oder einen Tiny13.
Ich benutze den ATtiny13-20PU
Schaltplan anbei.
Zur Erklärung: Der Sockel vom Mega ist NICHT belegt! Die LED'S am Tiny
sind (anders als auf dem Schaldplan) sind NICHT verbunden. Es handelt
sich also um die im Netz gefundenen Basisbeschaltungen.
Anbei noch der volle Output vom avrdude. Eventuell übersehe ich etwas?
>avrdude: set SCK frequency to 2000 Hz
zu langsam, um den Flash zu beschreiben, stell es schneller.
Wo steht, das Du den takt auf 2Khz setzen sollst? Willst Du mitpfeiffen?
ZUm Fuse auslesen gehen 2khz, aber nicht zum Flashen.
Hm,
Fehler in der Zeichnung. Der Chip hat Spannung.
Zum Firmware update. Der Sck wird ja durch den Programmer bestimmt. Ich
benutze einen USBASP-Clone.
Ehrlich - ich weiß nicht wie man den updaten soll...
Peter Shaw schrieb:> Hm,> Fehler in der Zeichnung. Der Chip hat Spannung.
Und warum zum Kuckuck konfrontierst du uns mit falschen Voraussetzungen?
Du solltest deine Arbeitsweise grundlegend überdenken.
Hi Axel,
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp
firmware update.
avrdude: error: programm enable: target doesn't answer. 1
Ich verwende den Programmer im Bild..
-B, nicht -b. Ist Case-sensitiv
hier:
> Der Output von den Fuses:>avrdude -c usbasp -b 300 -p t13 -q -U lfuse:r:LOW.tmp:h -U >hfuse:r:HIGH.tmmp:h
und hier:
>Anbei noch der volle Output vom avrdude. Eventuell übersehe ich etwas?>avrdude -c usbasp -B300 -Uflash:w:PS_AVR_Programmer.hex -p t13 -F -e -i 10 -v
die anderen Command-linwe options muss ich erst nachsehen...
Jetzt da du die -F Option weggelassen hast siehst du, dass nicht einmal
das Auslesen der Chipidentifikation funktioniert. Und die Fehlermeldung
auf ein HW-Verbindungsproblem hinweist.
Ich nehme an die Falschnummerierung am ISP-Srecker ist ein
Zeichnungsfehler, sonst müsstest du das ändern.
Was ich sicher einmal in deiner Schaltung ändern würde ist, einen der
beiden 10k Widerstände, die anscheinend parallel sind, entfernen. Und
die beiden Led-Pfade an MISO und MOSI, welche ca 10 mA brauchen ausser
Betrieb setzen. Denn es ist gut möglich, dass es bei den Megas
Funktioniert, aber beim ATtiny nicht.
isnah
> avrdude: safemode: lfuse changed! Was 6a, and is now 0
Der verliert zwischendurch die Synchronisation. Deine
ISP-Verkabelung ist zu wackelig (zu lang, zu schlechte Leitungen,
was auch immer). Sie funktioniert prinzipiell (zumindest im hier
zitierten ersten Beispiel, später wohl gar nicht mehr), denn Fuses
und Signatur ließen sich ja lesen.
Da du außerdem ein USBasp mit zu alter Firmware hast, kannst du die
ISP-Taktrate nicht runtersetzen, was noch (in Grenzen) als Würgaround
für ein schlechtes Kabel ansonsten nutzbar gewesen wäre.
Danke für die Ausführungen und die Hinweise zu den Zeichnungsfehlern.
Ich habe die Zeichnung aktualisiert und werde nochmals die Verkabelung
prüfen und die Pullups ändern. Klar so sind sie parallel, das habe ich
beim Bau der Tiny-Sektion nicht beachtet.
Am Ende muss ich mir wohl einen eigenen USBasp bauen, der nue neuste
Firmeware hat, nicht wahr?
der usbasp muss sich doch updaten lassen. Du hast den nicht
selbstgebaut, sonder fertig gekauft. Hmm - tue also einfach so, als wenn
Du dir selbst einen baust und verwende den gekauften statt dessen.
Firmwareupdate geht bei mir über den USB. Ist aber ein wenig her. Müsste
ich mich wieder einlesen. Ich glaube, ich hatte bei meinem USB-Dingens
die Möglichkeit, mehrere Software Varianten "aufzuspielen". USBasp war
da auch bei.
Evtl. möchte jemand das ausführen, der der mehr im Stoff steht.
axelr.
Jörg Wunsch schrieb:>> Der verliert zwischendurch die Synchronisation. Deine> ISP-Verkabelung ist zu wackelig (zu lang, zu schlechte Leitungen,> was auch immer). Sie funktioniert prinzipiell (zumindest im hier> zitierten ersten Beispiel, später wohl gar nicht mehr), denn Fuses> und Signatur ließen sich ja lesen.
Ich mache auch einige Zeit mit den Tiny13 rum und im Anfang ging alles
gut, dann wieder nicht.
Letzten Endes war es die Spannungsversorgung. Die Tinys scheinen wohl
deutlich empfindlicher auf die Spannungsversorgung zu reagieren. Wenn
dann noch eine lange Leitung da dran ist, dann hatte ich zumindest die
gleichen Probleme.
Für den 328ger war das kein Ding, aber war bei gleicher Konfiguration
der Tiny im Zif, dann kamen genau solche Probleme.
Vielleicht schaust du mal nach deiner Spannung!
Auch "etwas" zu viel scheinen die nicht zu mögen.
Hallo,
danke für die Tipps. Bisher hatte ich mit Austausch der Komponenten und
verkürzen der Kabel noch keinen Erfolg.
Ich werde mir das die Tage nochmals auf dem Breadboard anschauen.
Eventuell ist es ein Versuch wert eine externe Stromversorgung zu
benutzen statt die aus dem USB-Port.
Lieben Dank,
ps
Sorry, wenn ich jetzt dumm frage. Ziemlich viel hier im Thread kann ich
noch nicht verstehen.
Aber seitdem ich einen neuen PC mit Win 7 (64bit mit dem neuen PC)
benutze habe ich mit ansonsten unveränderter Hardware auf einmal
ähnliche Fehlermeldungen.
Ich benutze das Pollin board und flashe abwechselnd mit RS232 oder einen
usbasp-clone.
Trotz Fehlermeldungen wird bei mir meistens das Programm richtig
übertragen und funktioniert.
Mit einer bestimmten Schaltung die am Pollin-Board dranhing, konnt ich
gar nicht mehr flashen, obwohl die identische Schaltung mit altem PC und
Win 7 32bit problemlos war. Nach einigen Versuchen bin ich
draufgekommen, entweder die Schaltung vom Pollin-Board zu entfernen oder
manuell den Reset-Taster während des Flashen zu drücken und schon ist es
wieder gegangen.