Mal wieder USBAsp

Gast #2017632
Lesenswert?

Hallo!

Ich hab mir jetzt auch den Brenner von Fischl nachgebaut.
Neuste Firmware und neuster Treiber installiert (WinXP).
Wenn ich ihn anstecker, wird er erkannt und die rote LED leuchtet.
Starte ich jetzt Burn-O-Mat und versuch was rüberzuschieben bekomm ich 
folgende Fehlermeldung.

C:\WinAVR-20100110\bin\avrdude.exe -C 
C:\WinAVR-20100110\bin\avrdude.conf -p m8 -P usb -c usbasp  -U 
flash:w:C:\ATMEGA8\blinky\default\Blinky.hex:a

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


avrdude.exe done.  Thank you.

WinAVR ist die neuste version, mit dem beiliegenden AVRDUDE
Ich hab es schon mi mehreren Kabeln versucht, leider ohne Erfolg.
Ich bin jetzt seit 3 Tagen am versuchen und am lesen, aber leider klappt 
garnichts.
Gast #2018508
Lesenswert?

> C:\WinAVR-20100110\bin\avrdude.exe -C
> C:\WinAVR-20100110\bin\avrdude.conf -p m8 -P usb -c usbasp  -U
> flash:w:C:\ATMEGA8\blinky\default\Blinky.hex:a

C:\WinAVR-20100110\bin\avrdude.exe -p m8 -P USB:xx -c usbasp -e -U
flash:w:C:\ATMEGA8\blinky\default\Blinky.hex:a
Gast #2021186
Lesenswert?

Hallo erstmal.

Habe ich am 05.10.2010 schon einmal dargelegt. Die Firmware 
usbasp.2009-02-28.tar.gz scheint unvollendet. Hatte auch die Probleme 
mit initialization failed, bis ich gesehen habe, das usbasp zur 
Synchronisation SCK pulst. Meine AVRs wollten jedoch über /RES 
synchronisiert werden (Mega8, Megax8).

Anbei meine zurechtgegaggelte Version mit sync auf /RES per default.

Gruß
Marco
Angehängte Dateien:
Gast #2021221
Lesenswert?

Wenn der erste Zugriff durch "enter programming" erfolgreich ist, 
braucht es auch keine Synchronisation. Warum das bei mir der Fall war, 
weiss ich auch nicht. Hatte halt gelegentlich Ausfälle diesbezüglich. 
Mit meinem Code seither gar keine Probleme diesbezüglich.
Gast #2024214
Lesenswert?

So, ich hab jetzt mal deine Firm drauf gemacht, aber es klappt immer 
noch nicht.
Gleiche Fehlermeldung.
Eins ist aber anders. Jetzt leuchtet die andere LED permanent.
Mit der original Software war immer die Rote LED an, jetz auf einmal die 
Grüne.
Beim Versuch zu lesen oder zu schreiben leuchtet die zweite LED einmal 
kurz auf und das wars.
Gast #2024321
Lesenswert?

In der Tat habe ich beim Bestücken die beiden LEDs vertauscht. Lötkolben 
anheizen dauert 1 Minute, SourceCode umschreiben 10 Sekunden. Daher 
einfach bei ledGreenOn&co PC0 gegen PC1 austauschen. Finde es ausserdem 
schicker, grün für betriebsbereit und rot für Aktion zu verwenden.

Jetzt wäre es angebracht, mal mit einem LogicAnalyzer nachzusehen. Ein 
Oszi kann auch hilfreich sein, um zu sehen, wie die Pins wackeln. Steht 
beides nicht zur Verfügung hilft auch schon eine einfache LED mit 
Vorwiderstand. MOSI und SCK sind im Normalfall low. Vielleicht auch 
einfach mal mit einem Ohmmeter gemäß #define ISP_MOSI  PB3 schauen, ob 
der Widerstand von Prozessorpin zu Prozessorpin im Rahmen liegt, oder 
überhaupt deiner Hardware entspricht. Über 270 Ohm sind bei mir für den 
MegaX8-Programmer folgende Pins von Host-Target verbunden: 16-1, 17-17, 
18-18, 19-19; wobei als Host ein Mega88 dient.

Als ich meine ersten Versuche mit einem zerflashten AVR gemacht habe, 
hatte ich auch das Problem des fehlenden Taktes. Dazu habe ich dann den 
clockGen geschrieben, mit dem man das Target takten kann.

In der Versuchsphase habe ich den USBaspLoader kennengelernt. Das ist 
ein Bootloader, welcher einen usbasp simuliert, um die usbasp-Firmware 
neu einzuspielen. Deshalb ist auch die Abfrage von PC2 herausgenommen 
und zum starten vom Bootloader verwendet. Das spart das lästige ein- und 
ausstecken beim Flashen. Den 8kHz ISP-Takt bekommt man unter avrdude 
auch mit der Option -B 100 hin.
Gast #2024371
Lesenswert?

Ganz sicher dass es -B 100 ist.
Ich hab es nämlich die ganze Zeit mit -B 10 versucht.

Ich hatte am Anfang auch noch die Probleme, dass das Interface garnicht 
erkannt wurde.
Das lag an den 2 Kondensatoren. Irgendwie waren die schon platt.
Ich werde mir morgen mal eine Platine für die Schaltung ätzen und sie 
mal darauf aufbauen. Und dann werde ich es mal mit dem Pollin-Board 
versuchen.

Im moment hab ich alles nur auf nem Steckbrett aufgebaut.
Vllt. liegt auch da der Fehler.
Gast #2024400
Lesenswert?

(surfer):~/projects/usbasp/firmware $ a88 -U flash:w:main.hex -B 100
avrdude: Version 5.10, compiled on Dec 24 2010 at 16:23:41
avrdude: set SCK frequency to 8000 Hz
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 
0.05s
avrdude: set SCK frequency to 8000 Hz
avrdude: writing flash (4838 bytes):
Writing | ################################################## | 100% 
71.14s
avrdude: 4838 bytes of flash written
avrdude: input file main.hex contains 4838 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 
62.02s
avrdude: 4838 bytes of flash verified

Steckbrett kann funktionieren. Auch die 100n-Blockkondensatoren an VCC 
nicht vegessen? Einfach mal schauen, ob an MOSI und SCK was rausgeht und 
das Target an MISO antwortet. RESET muss natürlich auch auf GND gezogen 
werden. Nach Möglichkeit an dem Metall messen, welcher in den Prozessor 
geht.
Gast #2024434
Lesenswert?

Ja, der 100n ist da.
Hatte allerdings nur noch ein Vielschicht da, sollte aber auch gehen.

Morgen werd ich das Teil mal am Oszi nachmessen.

Ich seh grad, dass es bei dir ja mit der avrdude 5.1 funkitioniert.
Also müsste es ja auch mit meiner von WinAVR 2010 gehen.
Gast #2024548
Lesenswert?

Könntest du mir vom avrdude auch eine Compilierte Version hochladen?
Ich hab im moment nichts da, mit dem ich es compilieren könnte.

Wenn es in der kombination ja bei dir geht, müsste es ja bei mir auch 
klappen.

Ich möchte nämlich alles vom Laptop aus machen und da hab ich weder 
Parallel noch Seriell dran.
Gast #2024996
Lesenswert?

Die selbstcompilierte Version ist unter Linux. Ob eine aktuelle Version 
was reißt, weiß ich nicht, denn hier an der Arbeit funktioniert das 
ganze auch mit

C:\Programme\WinAVR-20090313\bin\avrdude.exe

ohne Probleme. Selbige anbei im Anhang
Angehängte Dateien:
Gast #2025409
Lesenswert?

Danke fürs Hochladen!

Klappt aber leider immer noch nicht.
Hab jetzt mal mein "altes" Board geholt und wenn ich versuch zu lesen 
oder zu schreiben, dann blinken auf dem Board die Led's die an MOSI und 
SCK hängen kurz auf.
Auch mit gesetzem Jumper klappt es nicht.
Gast #2027039
Lesenswert?

So, ich hab die Platine jetzt geätzt und alles verlötet.
Erster Versuch.... Nichts!

Dann hab ich den Mega8 seriell an einem anderen PC auf 8 Mhz intern 
gestellt und dann klappt es.
Wie bekomm ich es jetzt noch hin, dass ich mit dem 1Mhz 
auslieferungszustand per USB flashen kann??

Da der andere PC mit serieller Schnittstelle weg kommt, wär es schon 
hilfreich, wenn das gehen würde.
#2027421
Lesenswert?

Entweder, bei alter Firmware des USBasp, den Jumper für die reduzierte 
Geschwindigkeit setzen, oder, bei aktueller Firmware, bei avrdude -B 10 
für reduzierte Geschwindigkeit angeben.
Die Geschwindigkeiten sind:
-B 2000  500 Hz
-B 1000  1 kHz
-B 500   2 kHz
-B 250   4 kHz
-B 125   8 kHz
-B 62   16 kHz
-B 31   32 kHz
-B 10   93.75 kHz
-B 5    187.5 kHz
-B 2    375 kHz
-B 1    750 kHz
-B 0.5  1.5 MHz

andere Werte bringen beim USBasp auch keine anderen Geschwindigkeiten.
Gast #2027571
Lesenswert?

So, neues Problem.
Mit dem AVR Burn-O-Mat klappt jetzt alles.
Jetzt wollte ich gern alles auf meinem Laptop installieren.
Ich hab den USBAsp das erste mal angeschlossen, da wurde er auch noch 
richtig erkannt.
Treiber installiert und jetzt zeigt er mir nur noch "Unknown Device" und 
ich kann keinen Treiber mehr installieren.

An meinen beiden anderen PC's funktioniert er ohne Probleme.
Gast #2031553
Lesenswert?

Das ist schlecht, die Z-Dioden sind wichtig. An den meisten (modernen) 
USB-Anschlüssen geht es nicht ohne. USB hat eine I/O-Spannung von 3.3V 
und in vielen Fällen sind die Host-Controller nicht 5V-tolerant.
Gast #2031554
Lesenswert?

Den Fehler hatte ich schon öfter; jedesmal, wenn ich eine neue Version 
von WinAVR aufspielte, ging der usbasp nicht mehr. (das letzte Mal war 
gestern nachmittag)

Nimm die Version von 2007; dann geht es wieder.

Frag mich aber nicht, woran das liegt.....
#2031561
Lesenswert?

Jens schrieb:
> Nein, ich hab einen Schaltplan indem keine drin sind.
Sind denn die USB-Daten-Pegel (D+ / D-) 5V, bzw. wird der AVR mit 5V 
gepeist?
Wenn ja ist es kein Wunder, dass es mit manchen Hosts nicht 
funktioniert. Die USB-Spec legt IMHO  Pegel zw.  2.7V und 3.6 V fest. 
Einige Hostcontroller können mit 5V, andere geben einen Fehler aus.

Am besten du postest mal deine Schaltung. Da können wir auch mal einen 
Blick drauf werfen.

Gruß Skriptkiddy
Gast #2032391
Lesenswert?

Häng mal ein Diode in die Spannungsversorgung zum µC. Ist zwar nicht 
sonderlich sauber, aber hat bei mir meistens funktioniert. Ist 
allerdings eine Frickellöung ohne jegliche Gewähr meinserseits.

Frickler
Gast #2040424
Lesenswert?

Ich hab jetzt einfach 2,7 V Dioden in die Signalleitungen reingemacht 
und siehe da, es geht.

Einziges Problem ist jetzt noch, wenn ich einen Mega8 beschreibe klappt 
es, will ich es danach wieder versuchen, klappt es nicht mehr.
"Target doesnt answer. 1"

ganz schön seltsam.

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