USBasp + AVSDUDE + ATmega8 Problem

Gast #1882468
Lesenswert?

Hallo,

Ich bin neu im bereich MC Programmierung.
Vor 10 Jahren ahbe ich zwar mal z80 Programmiert aber das nur auf 
fertigen Versuchsanordnungen...

Ich habe heute meinen USBasp Bausatz bekommrn und gleich aufgebaut.

nun habe ich ein Problem wenn ich versuche meinen ATmega8 zu 
programmieren.

Ich habe am USBasp den jumper 3 gesetzt um die Geschwindigkeit zu 
drosseln.
Ebenso habe ich schon mehrere Stunden Google bemüht.

Aber ich komme über folgenden Punkt nicht hinaus:

>avrdude -p m8 -c usbasp -v

avrdude: Version 5.10, compiled on Jan 19 2010 at 15:10:54
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Documents and 
Settings\perpa15\
sktop\New Folder\New folder\avrdude-5.10-win\avrdude.conf"

         Using Port                    : lpt1
         Using Programmer              : usbasp
         AVR Part                      : ATMEGA8
         Chip Erase delay              : 10000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page
      Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  M
W   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- --- ---------
           eeprom         4    20   128    0 no        512    4      0 
900000 0xff 0xff
           flash         33    10    64    0 yes      8192   64    128 
450000 0xff 0x00
           lfuse          0     0     0    0 no          1    0      0 
200000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0 
200000 0x00 0x00
           lock           0     0     0    0 no          1    0      0 
200000 0x00 0x00
           calibration    0     0     0    0 no          4    0      0 
0 0 0x00 0x00
           signature      0     0     0    0 no          3    0      0 
0 0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

Ich benutze den neuesten USB-Treiber und AVRdude 5.10
Die minimalbeschaltung des MC habe ich bereits zwei mal erneuert, ohne 
Erfolg. Zur Verwendung kommt der interne Takt.

Leider bin ich nun am Ende meiner Weisheit angekommen.

Vieleicht habe ich in meiner Unwissenheit etwas übersehen?

Dank und Gruß
Patrick
Gast #1882658
Lesenswert?

>avrdude: error: programm enable: target doesn't answer. 1
>avrdude: initialization failed, rc=-1
>         Double check connections and try again, or use -F to override
>         this check

USBASP läuft mit zu hoher Taktrate für die intern 1 MHZ getakteten Mega8

Dafür gibt es den "Slow SCK" Jumper, den setzen dann sollte es gehen
Moderator Persönliche Seite #1882701
Lesenswert?

Patrick Perl schrieb:

> Ein Oszilloskop habe ich leider nciht hier :(

Kennst du vielleicht jemanden, der sowas hat?

> Meinst du ob sich seitens der Quell oder seitens der Zielschaltung was
> tut?

Ja, um erst einmal zu sehen, ob du ein Hardwareproblem hast mit
dem USBasp.

Für den allerersten Anfang würde sicher sogar ein Monoflop mit
angeschlossener LED genügen um zu sehen, ob an SCK da Impulse
angewackelt kommen.
Gast #1882715
Lesenswert?

Kannst du mal ein Bild (.jpg) von deiner Zielhardware machen oder sie 
beschreiben?
Du schreibst nämlich nicht, wo du den USBasp abgeschlossen hast.
Grund:
avrdude: error: programm enable: target doesn't answer. 1
#1882767
Lesenswert?

>> Ein Oszilloskop habe ich leider nciht hier :(
> Kennst du vielleicht jemanden, der sowas hat?
Der nächste wäre 40km weg :(

>> Meinst du ob sich seitens der Quell oder seitens der Zielschaltung was
>> tut?
> Ja, um erst einmal zu sehen, ob du ein Hardwareproblem hast mit
> dem USBasp.
>
> Für den allerersten Anfang würde sicher sogar ein Monoflop mit
> angeschlossener LED genügen um zu sehen, ob an SCK da Impulse
> angewackelt kommen.

meinst du eine LED mit Vorwiederstand tät es auch oder wäre die zu 
träge?
#1882788
Lesenswert?

Nimm mal einen Atmega der mit >= 8Mhz Quarz läuft. Bei mir ist es als so 
das es mit 1Mhz manchmal auch nicht klappt, auch mit langsam Jumper. Ich 
setzte dann immer die Quarz Fuse und programmiere ihn dann mit einem 
8Mhz Quarz. Niedrigeres hab ich leider noch nicht probiert.
#1882795
Lesenswert?

Brenner schrieb:
> Kannst du mal ein Bild (.jpg) von deiner Zielhardware machen oder sie
> beschreiben?
> Du schreibst nämlich nicht, wo du den USBasp abgeschlossen hast.
> Grund:
> avrdude: error: programm enable: target doesn't answer. 1

Ich habe das ganze auf einem Steckbrett zusammengebaut, da ich dort die 
fertige Schaltung erstmal testen möchte.

übernommen habe ich folgendes Schaltschema:
http://www.fundf.net/usbasp/pic/simple_mega8.png
#1882820
Lesenswert?

Also bei mir ist es so:

Usbasp nicht angschlossen:
1
avrdude.exe: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc
Kein µC:
1
avrdude.exe: error: programm enable: target doesn't answer. 1 
2
avrdude.exe: initialization failed, rc=-1

Benutz mal einen 8Mhz Quarz für den programmierenden µC.
Die letztere Fehlermeldung heißt das der µC nicht antwortet.
#1882873
Lesenswert?

Achso du hast gar kein anderes Programmiergerät außer den Usbasp.
Hm... Ich würde dir empfehlen aus einem Transitor und 3 Widerständen 
einen Seriell / Parallel Programmer zu basteln (schau dir mal das Atmel 
Evalutions Board von Pollin an da wird das auch so gemacht).

Quarz allein bringt dir nichts du musst die Fuse setzen.

Oder vielleicht kann man die Programmiergeschwindigkeit noch mehr über 
software senken. Ich setzte immer erst über mein Board die Quarzfuse 
(oder wie die heißt) und programmiere dann über Usbasp.

Und wenn die grüne usbasp led leuchtet, funktioniert er. Dann kann 
hardwaremäßig nur noch was von Usbasp Ausgang zu µC falsch sein.
#1882885
Lesenswert?

am Seriallen Anschluß hapert es leider auch ;)
Deswegen habe ich mich für eine USB Lösung entschieden

Weder mein PC noch der Laptop haben noch einen Com-Port :(

Hätte ich den mit einem ATmega16 bessere Karten?

Wobei der 8er genau das ist was ich für meine Schaltung brauche...
#1882904
Lesenswert?

Ich hab das nochmal ausprobiert. Komisch mit meinem neuen Mega8L 
funktioniert das, dabei hätte ich schwören können, das vor ein paar 
Wochen das mit dem normalen Mega8-16 nicht funktioniert hat. Egal.

Überprüfe nochmal deine Schaltung von Usbasp-ISP zum ISP des µCs, da 
muss der Fehler liegen. Nutzt du eigentlich eine Pfostenbuchse? Ich hab 
bei meinem Usbasp diese falsch eingelötet. Damit das dann passte musste 
ich ein bisschen schnitzen ;)
#1882912
Lesenswert?

Samuel K. schrieb:
> Ich hab das nochmal ausprobiert. Komisch mit meinem neuen Mega8L
> funktioniert das, dabei hätte ich schwören können, das vor ein paar
> Wochen das mit dem normalen Mega8-16 nicht funktioniert hat. Egal.
>
> Überprüfe nochmal deine Schaltung von Usbasp-ISP zum ISP des µCs, da
> muss der Fehler liegen. Nutzt du eigentlich eine Pfostenbuchse? Ich hab
> bei meinem Usbasp diese falsch eingelötet. Damit das dann passte musste
> ich ein bisschen schnitzen ;)

Ich habe am 10 Poligen Kabel zum MC hin einzelne Anschlüsse gelötet
Welche pfostensteckbuchse meinst du am USBASP?
Ich benutze den Bausatz Fischl.de
#1882919
Lesenswert?

Ich weiß nicht wie der von Fischl  ist - ich hab die SChaltung von 
Ulrich radig genommen. Allerdings deutlich kleiner als die fertige 
Platine ist aufgebaut. Prüf einfach mal ob die Anschlüsse richtig zum µC 
gehen. Ich vermute das ist falsch.

Mach aber erst mal einen 100nF zw. Vcc und GND, so nah wie geht an den 
µC.
#1882942
Lesenswert?

Wenn du die 4 Kabel zum µC richtig hast, dürfte der µC nicht 
funktionieren, bzw. falsch angeschlossen sein. Überprüfe deine Schaltung 
nochmal auf z.b. Spannungsversorgung, richtige Pinbelegung...

Achja hast du reset mit PullUp auf Vcc?
EDIT: OK, Pinbelegung müsste stimmen, Pullup auch.

Also wenn die SPannungsversorgung stimmt, dann ist er entweder kaputt 
oder ichweiß nicht mehr weiter.
#1883178
Lesenswert?

Jens schrieb:
>> avrdude -p m8 -c usbasp -v
>
> avrdude -p m8 -c usbasp -P USB:xx -v
> avrdude -p m8 -c usbasp -P USB:xx -F
>
> LG Jens

Hi Jens,

ändert leider nichts.

>avrdude -p m8 -c usbasp -P USB:xx -F

avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA8 is 1E 93 07

avrdude done.  Thank you.

>avrdude -p m8 -c usbasp -P USB:xx -v

avrdude: Version 5.10, compiled on Jan 19 2010 at 15:10:54
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Documents and 
Settings\perpa15\De
sktop\New Folder\New folder\avrdude-5.10-win\avrdude.conf"

         Using Port                    : USB:xx
         Using Programmer              : usbasp
         AVR Part                      : ATMEGA8
         Chip Erase delay              : 10000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page
      Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  Max
W   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ---
-- ---------
           eeprom         4    20   128    0 no        512    4      0 
9000  90
00 0xff 0xff
           flash         33    10    64    0 yes      8192   64    128 
4500  45
00 0xff 0x00
           lfuse          0     0     0    0 no          1    0      0 
2000  20
00 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0 
2000  20
00 0x00 0x00
           lock           0     0     0    0 no          1    0      0 
2000  20
00 0x00 0x00
           calibration    0     0     0    0 no          4    0      0 
0
 0 0x00 0x00
           signature      0     0     0    0 no          3    0      0 
0
 0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

Am MC sollte es nciht liegen, ich habe mittlerweile 3 Stück getestet.
Gast #1883531
Lesenswert?

Mit der Firmware aus usbasp.2009-02-28.tar.gz habe ich mich auch schwer 
getan. Dort wird abhängig von dem Bitclock entweder Hardware-SPI oder 
Software-SPI verwendet. Hardware-SPI war i.o. Bei der Software-Version 
erfolgte die Datenübernahme auf der verkehrten Flanke und die 
delay-Routinen lieferten mit meinem gcc auch nur Müll. Also Flanke 
umgedreht und delay-Routinen von avr-libc verwendet, und schon sah die 
Software-SPI am LogicAnalyzer wie eine skalierte Hardware-SPI aus. Zudem 
gab es ein weiteres Problemchen, und zwar wude beim "enter programming" 
zur Synchronisation der SCL gepulst. Dies ist auch richtig für ältere 
AVRs, bei dem von mir verwendeten Mega88 und Mega32 muss jedoch die 
Resetleitung gepulst werden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren