Hallo, Ich habe einen Usbasp von HobbyKing gekauft. Da dieser eine ältere Firmware drauf hatte, habe ich ihn mit Hilfe des Usbasp's von einem Kollegen die Firmware aktualisiert. Hat soweit auch alles geklappt. Jetzt wollte ich einen ATtiny2313 programmieren. Den selben Controller hatte ich zuvor bereits geflasht. Leider gehts jetzt nicht mehr. Ich hab auch schon verschiedene Exemplare ausprobiert. Zu beginn hat avrdude einfach als Device Signature 0xFFFFFF oder 0x000000 zurückgegeben und abgebrochen. Seit neustem bricht avrdude bereits zu Beginn wieder ab mit der Fehlermeldung "Target doesn't answer". Ich hab alle Leitungen auf Unterbrücke überprüft und sogar mal ein anderes Kabel und Programmiergerät genommen und probiert, von Windows und von Mac zu flashen. Hat alles nicht funktioniert. Wenn ich hingegen den einen Usbasp mit dem andern flashen will, klappt es ohne Fehlermeldung! Deshalb hab ich mal probiert, einen ATtiny26 zu flashen, hatte aber das selbe Ergebnis wie beim ATtiny2313. Hat jemand einen Rat, was ich übersehen hab oder was ich noch ausprobieren kann?
Kauf Dir was vernünftiges und Du hast keinen Ärger mit so nem Krampf. Geiz ist Geil lohnt sich nicht. Merket aus Holland.
Hi Sandro, versuch mal bitte einen ATMega zu flashen, falls du einen herumliegen hast. Ich bekomme auch kein ATtiny mit usbasp geschrieben. Liegt bei mir an mehreren Faktoren, prüf als erstes mal sie Spannung, der tiny ist wesentlich empfindlicher.
Von den chinesendingern hatte ich 2 Stück, keins der beiden hat wirklich das getan was es sollte.... kauf dir den mysmartusb light für 15€, das ist der günstigste isp programmer mit einer einfach nur super geschriebenen software. (ich mein die gui is gut verständlich)
Zeige deine avrdude-Befehlszeile und den avrdude-Kommunikationsoutput beim Aufruf mit der -vvvv Option.
Vielen Dank für die schnellen Antworten. Ich werde mal versuchen, einen ATMega8 zu flashen... Wenn es funktionieren sollte, kann es mit Sicherheit nicht an der Verkabelung liegen. Dann werde ich auch den avrdude output nachreichen.
Sandro L. schrieb: > Vielen Dank für die schnellen Antworten. > > Ich werde mal versuchen, einen ATMega8 zu flashen... Wenn es > funktionieren sollte, kann es mit Sicherheit nicht an der Verkabelung > liegen. > Dann werde ich auch den avrdude output nachreichen. Und prüf mal bitte, welcher Takt bei deinen ATinys eingestellt ist. Der Programmiertakt muss nämlich deutlich niedriger sein (siehe Datenblatt). Falls du den Takt nicht kennst, dann stell versuchsweise den Programmiertakt auf ganz langsam, das geht bei avrdude mit der Option -B, also z.B. -B 600 Und... wie isnah schon schrieb, zeige uns deine Befehlszeile sowie die Ausgaben von avrdude, sonst können wir hier nur Rätsel raten. :-) Bei mir laufen die USBasp nämlich sehr zuverlässig, wenn sie die aktuelle Firmware drauf haben.
Hi, ich bin auch so ein Geiz ist geil Typ, und bin noch einen schritt weiter gegengen. ich habe mir den USB Programmer von Thimas Fishl (Fishl.de) selbstgebaut. ist aber sowies Aussieht genau der Gleiche Programmer und funktioniert einwandfrei. Mein Programmer hat einen Schalter for einen langsamen Programmiermodus, und den musste ich beim programmieren von Attinys setzen, bis der interne Vorteiler (/8) über die Fuses ausgeschaltet wurde. viele Grüße
jojo schrieb: > ich habe mir den USB Programmer von Thimas Fishl (Fishl.de) > selbstgebaut. sorry Schreibfehler, wenn sich jemand dafür interresiert, war Thomas fischl www.fischl.de
jojo schrieb: > Schalter for einen langsamen Programmiermodus Hi Jojo, kannst du mir das mit dem Schalter mal genauer erklären? Würde mich interessieren. (Solange Sandro noch am schrauben ist. - will hier ja keinen Thread ownen.) Lieben Dank, ps
Peter Shaw schrieb: > Hi Jojo, kannst du mir das mit dem Schalter mal genauer erklären? Würde > mich interessieren. (Solange Sandro noch am schrauben ist. - will hier > ja keinen Thread ownen.) Bei dem neue Firmware (so viel ich weiss) braucht man nicht stattdessen benutzt man in AVRDUDE die Funktion -B bzw. was hier Markus schreib. Markus Weber schrieb: > Falls du den Takt nicht kennst, dann stell versuchsweise den > Programmiertakt auf ganz langsam, das geht bei avrdude mit der Option > -B, also z.B. -B 600
Ah ok, die Übertragungsgeschwindigkeit. Hatte ich als zwei verschiedene Dinge gelesen. Danke!
Neo schrieb: > Von den chinesendingern hatte ich 2 Stück, keins der beiden hat wirklich > das getan was es sollte... Ich habe einen Sack voll von den Dingern und die tun es alle einwandfrei. Allerdings habe ich sie erst ausprobiert und dann mit neuen Firmwares experimentiert. Nun ist es schwer fest zu stellen, was hier nicht stimmt. Was hier auf jeden Fall noch fehlt: Bitte mal alle Jumperstellungen auflisten. Eventuell steht z.B. noch auf self-programming...
Die Option -B 200 habe ich auch schon probiert. Hat aber auch nichts gebracht. Mein Usbasp hat 2 Lötjumper (also für eine Lötbrücke). Einer ist für self-programming. Dort habe ich zum programmieren ein Stück Metall zum verbinden draufgedrückt. Daran kanns also nicht liegen. Die Funktion des anderen konnte ich noch nicht in Erfahrung bringen. Ein normaler Jumper hat es auch drauf, der bestimmt aber nur, ob die Schaltung vom USB gespeist wird oder eine externe Spannungsquelle den zu programmierenden Controller speist. Ich kann erst am späten Nachmittag Bilder und den avrdude Befehl mit Output posten.
@Shawn: der Schalter ist einfach ein Jumper auf dem Board. Wenn der gesetzt ist wirde der Programmiertakt heruntergeseiach habe da halt einen Schalter drauf gemacht. manche langsamere Kontroller benötigen in der ausgangskonfiguration einen langsameren Takt, zumindest bis man Die Fuses richtig eingestellt hat. danach kann man den Schalter (Jumper) wieder umschalten, und in wenigen sekunden so ein Teil flashen.
So, hab mal einen ATMega16, den ich gefunden habe, drangehängt (siehe Bild) und mit folgendem Befehl getestet:
1 | avrdude -c usbasp -P usb -p m16 -B 600 -v -v |
Hier der Output:
1 | avrdude: Version 5.11.1, compiled on Aug 12 2013 at 20:23:12 |
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 "/opt/local/etc/avrdude.conf" |
6 | User configuration file is "/Users/salu95/.avrduderc" |
7 | User configuration file does not exist or is not a regular file, skipping |
8 | |
9 | Using Port : usb |
10 | Using Programmer : usbasp |
11 | Setting bit clk period : 600.0 |
12 | avrdude: seen device from vendor ->www.fischl.de<- |
13 | avrdude: seen product ->USBasp<- |
14 | AVR Part : ATMEGA16 |
15 | Chip Erase delay : 9000 us |
16 | PAGEL : PD7 |
17 | BS2 : PA0 |
18 | RESET disposition : dedicated |
19 | RETRY pulse : SCK |
20 | serial program mode : yes |
21 | parallel program mode : yes |
22 | Timeout : 200 |
23 | StabDelay : 100 |
24 | CmdexeDelay : 25 |
25 | SyncLoops : 32 |
26 | ByteDelay : 0 |
27 | PollIndex : 3 |
28 | PollValue : 0x53 |
29 | Memory Detail : |
30 | |
31 | Block Poll Page Polled |
32 | Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack |
33 | ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- |
34 | eeprom 4 10 128 0 no 512 4 0 9000 9000 0xff 0xff |
35 | flash 33 6 128 0 yes 16384 128 128 4500 4500 0xff 0xff |
36 | lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
37 | lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
38 | hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
39 | signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 |
40 | calibration 0 0 0 0 no 4 0 0 0 0 0x00 0x00 |
41 | |
42 | Programmer Type : usbasp |
43 | Description : USBasp, http://www.fischl.de/usbasp/ |
44 | |
45 | avrdude: try to set SCK period to 0.0006 s (= 1666 Hz) |
46 | avrdude: set SCK frequency to 1000 Hz |
47 | avrdude: AVR device initialized and ready to accept instructions |
48 | |
49 | Reading | ################################################## | 100% 0.10s |
50 | |
51 | avrdude: Device signature = 0x1e9403 |
52 | avrdude: safemode: lfuse reads as E1 |
53 | avrdude: safemode: hfuse reads as 99 |
54 | |
55 | avrdude: safemode: lfuse reads as E1 |
56 | avrdude: safemode: hfuse reads as 99 |
57 | avrdude: safemode: Fuses OK |
58 | |
59 | avrdude done. Thank you. |
Und hier dasselbe mit den ATtiny26 Hier habe ich aber eine kleine Platine gemacht, weil ich diesen Controller öfters brauchen werde. Hab das ganz aber auch mit dem Kabel wie beim ATmega16 probiert. Kam genau das gleiche raus. Befehl:
1 | avrdude -c usbasp -P usb -p t26 -B 600 -v -v |
Output:
1 | avrdude: Version 5.11.1, compiled on Aug 12 2013 at 20:23:12 |
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 "/opt/local/etc/avrdude.conf" |
6 | User configuration file is "/Users/salu95/.avrduderc" |
7 | User configuration file does not exist or is not a regular file, skipping |
8 | |
9 | Using Port : usb |
10 | Using Programmer : usbasp |
11 | Setting bit clk period : 600.0 |
12 | avrdude: seen device from vendor ->www.fischl.de<- |
13 | avrdude: seen product ->USBasp<- |
14 | AVR Part : ATTINY26 |
15 | Chip Erase delay : 9000 us |
16 | PAGEL : PB3 |
17 | BS2 : PB2 |
18 | RESET disposition : dedicated |
19 | RETRY pulse : SCK |
20 | serial program mode : yes |
21 | parallel program mode : yes |
22 | Timeout : 200 |
23 | StabDelay : 100 |
24 | CmdexeDelay : 25 |
25 | SyncLoops : 32 |
26 | ByteDelay : 0 |
27 | PollIndex : 3 |
28 | PollValue : 0x53 |
29 | Memory Detail : |
30 | |
31 | Block Poll Page Polled |
32 | Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack |
33 | ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- |
34 | eeprom 4 10 64 0 no 128 0 0 9000 9000 0xff 0xff |
35 | flash 33 6 16 0 yes 2048 32 64 4500 4500 0xff 0xff |
36 | signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 |
37 | lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
38 | lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
39 | hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 |
40 | calibration 0 0 0 0 no 4 0 0 0 0 0x00 0x00 |
41 | |
42 | Programmer Type : usbasp |
43 | Description : USBasp, http://www.fischl.de/usbasp/ |
44 | |
45 | avrdude: try to set SCK period to 0.0006 s (= 1666 Hz) |
46 | avrdude: set SCK frequency to 1000 Hz |
47 | avrdude: error: programm enable: target doesn't answer. 1 |
48 | avrdude: initialization failed, rc=-1 |
49 | Double check connections and try again, or use -F to override |
50 | this check. |
51 | |
52 | |
53 | avrdude done. Thank you. |
Die Spannung, die am Controller anliegt, ist 4.93 V.
Welche Masseleitung hast du fuer den "kleinen" ISP-Anschluss verwendet? Bei einigen USBASP ist noch die serielle Schnittstelle mit auf dem ISP-Anschluss...
Masse ist beim ISP 10 an Pin 4. Das Kabel wurde beim Usbasp mitgelifert.
Pin 4 waere exakt der Kandidat fuer Txd. Auf deinem Bild kann man zwar sehen, dass der mit GND beschriftet ist, aber miss es mal nach.
Also, ich hab mal die Spannung gemessen. Die liegt bei 5.1 V und ist mit allen anderen Pins, die GND sind, verbunden.
Nicht Spannung messen, sondern feststellen, wo die Leiterbahnen lang gehen. Wenn du auf GND 5.1v misst, stimmt ganz sicher was nicht... aber wohl eher an der Messung. Gegen welchen Bezugspunkt hast das denn gemessen?
Als Bezugspunkt habe ich den VCC Pin gleich nebenan genommen (hab also die Spannung zwischen VCC und GND gemessen). Die GND Pins auf dem Usbasp sind mit der Massefläche verbunden. Hab es auch mit dem Durchgangsprüfer geprüft. die GND pins sind mit dem Masse-Pin des USB-Steckers direkt verbunden.
Ich hab (leider) noch nie einen USBASP in den Händen gehalten, aber probiers mal mit einer externen Versorgungsspannung für den AVR.
Peter K. schrieb: > Ich hab (leider) noch nie einen USBASP in den Händen gehalten, aber > probiers mal mit einer externen Versorgungsspannung für den AVR. Mit einer externen Spannungsversorgung für den zu programmierenden Controller hat es tatsächlich funktioniert! Beim Usbasp hab ich einfach den Jumper entfernen müssen. Vielen tausend Dank Peter K.
Super. Dann war mein erster Verdacht ja auch in die richtige Richtung. :-) freut mich das es bei dir nun klappt. Für weitere Leser währe es eventuell schön, wenn du ein Bild den Jumpers auf dem Board fotografierst. Das wäre ein super schönes und erfolgreiches Ende.
Der gängige Jumper, der die +5V vom USB-Port mit dem Vcc zum Target verbindet. Eigentlich müßte der Saft vom USB zum Programmieren reichen. Da wird was mit der Verdrahtung faul sein.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.