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.
Welche Version von avrdude ist das? Versuch mal ältere Versionen (5.2, 5.3.1).
Hallo, Hast Du die Steckbrücke im USB ASP auch auf "Slow Device" gesteckt, da falle ich auch immer drauf rein, wenn ich neue controller Flashe. Gruß aus Köln Frank
> 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
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
Die Version usbasp.2009-02-28.tar.gz läuft unter XP mit AVRdude und Linux mit meinen ATmegas. (ATmega 8, 16, 32, ... ATmega644)
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.
Dann werd ich das da mal versuchen. Danke. Werde morgen mal bescheid geben, ob es klappt oder nicht.
@Marco S Ich bekomm die Dateien irgendwie nicht compiliert. Könntest du mir evtl eine fertige .hex datei hochladen? Wäre wirklich nett.
@Jens Hoffentlich klappt es bei dir. Habe den clockGenerator fuer Mega8 herausgenommen, aber immer noch mit Bastelcode drinnen. Fuer Mega88 habe ich damit schon erfolgreich geflasht.
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.
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.
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.
(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.
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.
Ist eigentlich Version 5.10 (http://download.savannah.gnu.org/releases/avrdude/avrdude-5.10.tar.gz), und, wenn ich das richtig sehe, vom Januar 2010. Meinen ersten usbasp-Prototyp habe ich auf Lochraster aufgebaut. Wollte auch erst ätzen, aber so ging es schneller. Und ist zudem noch leichter erweiterbar.
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.
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
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.
Dann würde ich mal schauen, ob auf MISO auch was passiert. Ist dies nicht der Fall, eventuell mal einen Takt an XTAL1 anlegen und schauen, ob sich MISO dann regt.
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.
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.
Also weder mit anderen Geschwindigkeiten noch mit gesetzem Jumper hab ich erfolg. Klappt leider erst ab 2 Mhz
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.
Jens: > Jetzt wollte ich gern alles auf meinem Laptop installieren. [...] > An meinen beiden anderen PC's funktioniert er ohne Probleme. Sind die Zener-Dioden eingebaut? D1 und D2 im Schaltplan auf http://www.fischl.de/usbasp/.
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.
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.....
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
So, das ist die Schaltung, die ich nachgebaut habe. Lediglich die Kondensatoren am Quarz hab ich durch 22pF ersetzt. sonst ist alles gleich.
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
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.
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.