mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USBasp + AVSDUDE + ATmega8 Problem


Autor: PatP (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Brenner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Using Port                    : lpt1 ???????

müsste da nicht usb rein?

Autor: Patrick P. (patp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Brenner schrieb:
> Using Port                    : lpt1 ???????
>
> müsste da nicht usb rein?

Stimmt, aber ändert leider nichts.

Autor: Brenner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du denn "libusb" installiert?
Wenn nicht:
Windows requires a driver for USBasp:
usbasp-windriver.2009-02-28.zip (70 kB)
u.a. zu finden auf:
http://www.fischl.de/usbasp/

Autor: Patrick P. (patp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, die neueste Version ist installiert und wird auch unter Geräte 
angezeigt.

Die Grüne LED am Gerät leuchtet auch wie gewünscht.

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also bei mir gibg es erst mit avr studio 2009, da 2010 das nicht 
unterstützt.
Nimm doch Avr burn o mat. Das ist einfacher (und ich kann dir besser 
helfen).

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick Perl schrieb:

>> müsste da nicht usb rein?
>
> Stimmt, aber ändert leider nichts.

Dann schicke mal bitte ein Log mit -vvvv (aber bitte als Anhang, das
ist lang).  Du kannst das Log in eine Datei umleiten mit:

avrdude ... 2> logfile.txt

Autor: Patrick P. (patp)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörg,

komischer Weise, wollte er das > oder >> nicht annehmen...
aber ging auch so ;)

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, sehr gesprächig ist Thomas Fischls Code wohl nicht. :-/

Hast du auf dem Teil eigentlich eine aktuelle Firmware drauf?

Hast du ein Oszilloskop, mit dem du nachsehen kannst, ob an den
Ausgangspins (SCK, /RESET, MOSI) sich überhaupt etwas tut?

Autor: Patrick P. (patp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Angeblich ist es die aktuelle Firmware.
Ein Oszilloskop habe ich leider nciht hier :(
Meinst du ob sich seitens der Quell oder seitens der Zielschaltung was 
tut?

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Patrick P. (patp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da gebe ich dir recht.
Das wäre Jumper 3 aber den habe ich bereits gebrückt.

Ich habe auch bereits versuche den ATmega8 in der Zielschaltung zu 
ersetzen, leider ohne Erfolg.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Brenner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Patrick P. (patp)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Patrick P. (patp)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also bei mir ist es so:

Usbasp nicht angschlossen:
avrdude.exe: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc
Kein µC:
avrdude.exe: error: programm enable: target doesn't answer. 1 
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.

Autor: Patrick P. (patp)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mangels quarz habe ich an jede leitung mal eine LED gesetzt.
Sobald strom da ist liegt spannung an MISO.
Wenn ich versuche mit swm MC zu kommunizieren, ändert sich allerdings 
nichts.

Ohne USB Verbindung läuchten alle 4 LEDs

Ein Bild der Schaltung anbei

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Patrick P. (patp)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Ob das bei deinem Problem hilt, weiss ich nicht. Aber zwischen VCC und 
GND gehören möglichst nah am µC Abblockkondensatoren.

MfG Spess

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Autor: Patrick P. (patp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oh ok, ich dachte die beiden in der Spannungsversorgung sind 
ausreichend?

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab schon oft gelesen das es mit oder ohne geht. Auch schon das 
einer dran muss. Ich hab bisher immer einen benutzt und hab keine 
Probleme gehabt. Und die 5cent sinds doch wert, oder?

Autor: Patrick P. (patp)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Patrick P. (patp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Samuel K. schrieb:
> Ich hab schon oft gelesen das es mit oder ohne geht. Auch schon das
> einer dran muss. Ich hab bisher immer einen benutzt und hab keine
> Probleme gehabt. Und die 5cent sinds doch wert, oder?

Stimmt schon ;)

War eine Fehleinschätzung meinerseits.

Habe nochmal 2  die ich noch hatte eingesetzt aber ohne Änderung.

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick P. schrieb:
> Wenn ich versuche mit swm MC zu kommunizieren, ändert sich allerdings
> nichts.

Das ist nicht unnormal.  Die Impulse sind so kurz, dass du davon
nichts merkst.  Wenn schon, dann müsstest du sie mit einem Monoflop
verlängern, aber wenigstens ein primitiver Oszi wäre einfach mal
besser.

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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

Autor: Patrick P. (patp)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick P. schrieb:
> Am MC sollte es nciht liegen, ich habe mittlerweile 3 Stück getestet.

Dann wird's wohl an deinem USBasp liegen, wobei die Firmware ja
zumindest prinzipiell läuft, denn sie redet auf dem USB.

Autor: Patrick P. (patp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das fürchte ich auch, ausser alle 3 MCs wurden defekt geliefert... 
(stammen aus einer Lieferung)

Ich versuche momentan zugang zu einem Oszilloskop und/oder einem anderen 
MC zu bekommen.

Viel Dank ;D

Autor: Marco S (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.