Hallo zusammen,
ich habe einen USBasp aus China und mit diesem kann ich komischerweise
nur 1x einen ATTiny 85 nur einmal flashen.
Danach kommt der Fehler das die Signatur nicht passt:
1
avrdude.exe: Version 5.10, compiled on Jan 19 2010 at 10:45:23
2
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
3
Copyright (c) 2007-2009 Joerg Wunsch
4
5
System wide configuration file is "I:\Programme\AVR Thema\USBprogrammer\flashen\WinAVR-20100110\bin\avrdude.conf"
avrdude.exe: Expected signature for ATtiny85 is 1E 93 0B
49
Double check chip, or use -F to override this check.
50
51
avrdude.exe done. Thank you.
Wenn ich den ATTiny 85 dann an einen Raspi anschliesse
(http://www.instructables.com/id/Programming-the-ATtiny85-from-Raspberry-Pi/?lang=de)
dann funktioniert das, auch mehrere male.
Der USBasp funktioniert auch am AVR-Net-IO Board mit Atmega1284p.
Habe den ATTiny auch schon mal dort angeschlossen um darüber zu flashen,
geht auch nur einmal.
Aber am Raspi gehts immer.
Wer kann mir helfen den Fehler zu finden oder hat eine Idee an was es
liegen könnte?
VG
1wire
Ingo L. schrieb:> Daran vielleicht?
Das China Bashing hier im Forum ist schon sehr gewöhnungsbedürftig. Aber
es ist ja auch bequemer, eigene Unfähigkeiten auf Andere ab zu wälzen.
Wenn der TO gesagt hätte, wie er die Fuses gesetzt hat, hätte man schon
mehr Anhaltspunkte. Er wäre nicht der Erste, der sich via Takt Option
oder Reset Pin Manipulation selbst abgeschossen hätte.
Und warum nimmt er diese Zeile nicht ernst?
> warning: cannot set sck period. please check for usbasp firmware update.
Georg G. schrieb:> eigene Unfähigkeiten auf Andere ab zu wälzen.
Ich hab kein Probleme wie vom TO ;), aber evtl. bin ich auch zu unfähig
für solche Probleme... Daran wirds liegen.
> Das China Bashing hier im Forum ist schon sehr gewöhnungsbedürftig
Dann gewöhn dich dran ;)
Das ging ja schnell, danke schon mal für die Antworten.
Georg G. schrieb:
> eigene Unfähigkeiten auf Andere ab zu wälzen.
Also mit Unfähigkeit hat das wohl wenig zu tun, wenn man hier im Board
eine Frage stellt. Nach deiner Definition ist jeder Unfähig nur weil er
ein Problem hier ins Board stellt. Das ist weder nett noch besonders
hilfreich.
Also ich hab schon etliches gelesen und flashe AVRs schon seit letztem
Jahr. Daher gestehe ich mir schon etwas mehr zu, aber hier komm ich
einfach nicht weiter, und deshalb hab ich mich mal getraut hier diese
Frage zu stellen. Das ich wegen dem "China" etwas komisch angeguckt
werde, dachte ich mir schon.
ABER jetzt mal wieder sachlich:
Um die Informationslücken von meiner Seite aus zu füllen.
-Fuses bleiben wie im Auslieferzustand. L:0x62 H:0xDF
-Cannot set sck period.... Die Firmware habe ich auf dem USBasp auf
aktuelle von Fischl.de geflahst.
-Resetpin (also RSTDISBL) wird nicht manipuliert (brauch den nicht als
Port)
Wie schon erwähnt kann ich nach dem USBasp den Tiny über Raspi
(Raspberry Pi B) weiterhin flashen, das geht vor und nach der Benutztung
des USBasp.
Nur eben am USBasp gehts 1x - danach nicht mehr. Fuses werden nicht
geändert. Wenn es prinzipiell nicht gehen würde, dann ok.
Ich könnte natürlich alle Tinys über Raspi + Steckbrett flashen. Aber
wenn ich in ein paar Wochen/Monaten wieder was zu flashen habe, dann ist
vielleicht das Steckbrett schon wieder für andere Dinge in Gebrauch
und/oder Raspi ist für FHEM oder XMBC verwendet worden.
Wer noch eine Idee oder Vermutung, bitte gerne
VG
1wire
Hi 1wire,
eine Vermutung, wenn's denn jedem Recht ist ;-):
3,3V vs. 5V.
Ich hatte mal selbiges Problem und kurz vor dem Entsorgen von 5 Chips
die Lösung gefunden, dass ich zwar die Versorgungsspannung auf 3,3v,
aber die Signalspannung auf 5V klemmen muss, damit nach dem ersten
Flashen weitere Kommunikation über den ISP möglich ist.
Ich vermute zwar, das liegt am loslaufenden Programm und an meiner
Unfähigkeit, den Kram passend zu entstören (ich werde nächstes Mal
jedenfalls erstmal ein bisserl Kerko-Hühnerfutter passend verlöten),
aber man nimmt ja bekanntlich, was man bekommt, wenn's denn tut. Falls
jemandem etwas besseres einfällt, gerne her damit. Und ach ja, die
unterschiedlichen Spannungen haben meinen SMD attiny13-ern nicht
geschadet, was andere Chips/Chargen daraus machen, kann ich leider nicht
sagen...
Gruß, jois3
Hört sich an wie ein Problem mit der ISP Verbindung oder der
Spannungsversorgung.
Der USBasp ist doch nur ein ISP Adapter, oder? Wie Programmierst du den
ATTiny? Am besten mal den Aufbau genau beschreiben, möglichst mit Bild.
Woher kommt die Versorgungsspannung? 5V? Ist nach dem ersten
Programmieren das Programm richtig auf dem tiny? Die Fuses noch gleich?
Der USBasp kann nicht wissen, ob der Tiny jungfräulich ist. Also muss
beim Flashen etwas passieren, damit die Signatur nicht mehr gelesen
werden kann.
Was passiert, wenn du den Tiny im Rasp löscht (dann ist er wieder eine
Jungfrau)? Kannst du ihn danach mit dem USBasp flashen?
Hast du dir im Fehlerfall mal die Signale am Tiny während des Flashens
angesehen? Wackelt Reset? Welche Periode hat SCK? Ist die
Betriebsspannung sauber und in richtiger Höhe?
Flash dir einen "1 Sekunde Blinker" auf den Chip. Ist es nach dem
Flashen wirklich 1 Sekunde, stimmt also der Takt?
Ich bin zu faul, die Fuses nachzulesen. Aktivierst du beim Flashen
Brownout und dann passt die Spannung nicht mehr?
Manuel W. schrieb:> -Fuses bleiben wie im Auslieferzustand. L:0x62 H:0xDF
Dann läuft der tiny85 mit 1MHz internem Takt und der ISP-Takt darf
höchstens 250kHz betragen. AFAIK läuft der usbasp mit alter Firmware/als
Default mit 375kHz, also zu schnell.
> -Cannot set sck period.... Die Firmware habe ich auf dem USBasp auf> aktuelle von Fischl.de geflahst.
Sicher? Dann gäbe es die Meldung nicht.
> Wie schon erwähnt kann ich nach dem USBasp den Tiny über Raspi> (Raspberry Pi B) weiterhin flashen, das geht vor und nach der Benutztung> des USBasp.>> Nur eben am USBasp gehts 1x - danach nicht mehr. Fuses werden nicht> geändert. Wenn es prinzipiell nicht gehen würde, dann ok.
Meine Vermutung ist, daß du einen zu hohen ISP-Takt verwendest. Und
vermutlich eine zu alte Firmware auf dem usbasp hast (muß mindestens
V1.3 sein für die Takteinstellung per avrdude & Co).
Dreh also die ISP-Frequenz runter. Wenn es weiterhin die Meldung über zu
alte Firmware gibt, update die Firmware. Alternativ hat der usbasp einen
Jumper "slow clock". Damit kannst du auch mit der alten Firmware den
ISP-Takt runterstellen (dann allerding wirklich langsam).
XL
Hallo zusammen,
also hab jetzt hier anhand von euren Ideen noch einiges geprüft und ich
denke auch das es am zu schnellen ISP liegt.
Der 1284 mag das wohl können aber der kleine 85er wohl nicht.
Habe den USBasp über Raspi geflasht, zumindest war ich der Meinung weil
keine Fehlermeldung gab und das verify auch ok war.
Aber da die Meldung kommt, hat das wohl nicht funktioniert (J2
SelfProgramming war eingebaut)
ob ich einen AVR wieder zur Jungfrau bekomme und dann wieder 1x flashen
kann, habe ich noch nicht probiert ist aber auch eine gute Idee.
Irgendwas muss da noch passieren, nach oder während dem ersten flashen,
da bin voll eurer Meinung. mal sehen ob Ich/Wir es schaffen das
herauszufinden.
Da ich jetzt nicht die FW schneller bekomme, versuche ich mal den Ansatz
von Axel den Tiny so zu fusen das er einen schnelleren ISP akzeptiert.
ISP ist ein viertel von intern Takt. Richtig?
Laut http://www.engbedded.com/fusecalc/ hab ich bei L:0x62 einen intern
Takt 8MHz mit Divide clock by 8 internally; [CKDIV8=0] also 1 MHZ
Meine Überlegung: Ich flashe L:0xE2 also Divide clock by 8 internally;
CKDIV8=1
dann habe ich intern 8MHz und ISP 2MHz. Stimmt das, oder bin ich jetzt
total verpeilt?
VG
1wire
Hallo zusammen,
ich hab mit eurer Hilfe das ganze zum funktionieren gebracht. Beim
ersten Flashen wird wohl die interne Geschwindigkeit reduziert. Warum
auch immer, ich setzt da ja keine Fuses.
So funktionierts bei mir:
- neuer ATTiny85, erstmal die Fuses auf L:0xe2 H:0xdf E:0xff
damit setze ich den internen Takt von 8MHz auch auf 8MHz, weil ich
Divide clock by 8 internally ausschalte, (die 8MHz werden also NICHT
durch 8 geteilt)
Somit darf der ISP bis zu 2MHz schnell sein.
- USBasp macht wohl immer ISP 375kHz. also passt das jetzt
- mit avrdude -p t85 -c usbasp -e -U flash:w:DATEI.HEX -v flashen
geht dann auch mehrfach!!!
Ich habe 2 USBasp. Einer ist original und einer ist vermeintlich
geflasht. Aber das oben beschriebene funktioniert mit beiden.
Zustätzl. habe ich den Flashbefehl mit -B16 oder -B64 erweitert und
stelle bei beiden USBasp eine langsamere Flashgeschwindigkeit fest. So
wie es zu erwarten war. Also funktioniert -B wohl.
Also würde ich hier den Thread mit SOLVED schliessen und bedanke mich
bei allen Beteiligten.
Nachtrag: Hab grad die "alten" ATTiny85 die ich nicht mehr flashen
konnte, die Fuses mit -B16 auf L:0xe2 gesetzt. Damit geht jetzt alles.
SUPER.
VG
1wire
Du kannst auch aus dem USBASP einen AVRDOPER machen:
http://www.obdev.at/products/vusb/avrdoper.html
In dem letzten Archiv findet sich eine .hex-Datei, die das erlaubt:
USBASP MEGA8 12 MHZ.hex
Vortei: Dieses Gerät macht keine Zicken. Ich hatte mit der
"Originalsoft-
ware" nur Sackgang.
MfG Paul
Wenn auf der Platine draufsteht: "MX-USBISP-V3.01" dann kannst Du die
originale Fischl-Firmware auf das Gerät flashen, danach kann man dann in
avrdude die -B Option verwenden. Das was ab Werk da drauf ist scheint
eine modifizierte USBASP Version zu sein die eigenmächtig versucht die
SCK Bitrate automatisch zu setzen, möglicherweise geht das in die Hose.
Ich hab auch so ein Teil und meine erste Aktion war die original
Fischl-Firmware draufzumachen.