Hallo! Ich habe den USB ISP von www.matwei.de nachgebaut und auch den schon den Bootloader und die Software draufgespielt. Funktioniert soweit auch ganz gut, aber... Ich kann damit in der Regel genau einmal eine Schaltung programmieren, das geht ohne Probleme. Sobal ich jedoch nochmal einen AVR programmieren will, geht nichts mehr. Entweder avrdude sagt Protokollfehler oder "not in sync". Hin und wieder leuchtet auch die rote LED am ISP. Manchmal hilfts, einfach alle Kabel auszustecken (USB und das zu Schaltung), aber meistens muss ich den PC neu starten und kann dann wieder genau einmal programmieren. Hat irgendwer ne Idee, an was das liegen könnte? Ach ja der Mega8 auf dem ISP müsste OK sein, hab das Testprogramm von der Homepage laufen lassen, da hat sich an allen Pins was getan. mfg
Hallo, hatte ähnliche Startschwierigkeiten mit dem USBisp - inzwischen läuft es aber super gut. Kann es sein, dass Du die Firmware app_v2.hex aufgespielt hast? Es gibt zwei Firmwareversionen in der *.zip-Datei. Die Version 2 (app_v2.hex) benutzt das neue Protokoll STK500v2 und läuft daher nur mit dem neusten AVRStudio4. Ältere Avrdude-Versionen funktionieren hier auch nicht. Avrdude-5.0-BETA, welches STK500v2 schon kann, scheint ebenfalls noch nicht richtig mit dieser Firmware zu laufen - Matthias Weißer wird vermutlich demnächst eine neue Firmware veröffentlichen. Mit der Version 1 (app.hex) sollte es mit älteren AVRStudio- und AVRdude-Versionen funktionieren. Beim ersten Einschalten wird bei entsprechender Schalterstellung (beide Dip-Schalter aus) der Bootloader gestartet, welcher immer mit dem alten STK500-Protokoll läuft -> deshalb funktioniert es wahrscheinlich bei Dir direkt nach dem Einschalten.
Hi stümmt. AVRDude 5.0 verwendet einen Befehl (SPI_MULTI) beim STK500v2 Protokoll den ich noch nicht implementiert hatte. Ich schieb heute oder morgen noch eine neue ZIP-Datei auf meine HP. @Michael Warum du immer wieder ab- und wieder anstecken mußt ist mir etwas unklar. Welche Software (PC als auch USBisp) verwendest du? Wie wird der USBisp mit Spanung versorgt? Welche Lötbrücken sind geschlossen? Matthias
Hallo! Spannungsversorgung hab ich beides ausprobiert, d.h. über USB und über die Zielschaltung (hab einfach die VCC Leitung am 10pol stecker nicht verbunden, oder mus ich da noch was andres machen?). Als Software verwende ich auch die app.hex, weil ich nicht Version 5 von avrdude habe. Software habe ich nur avrdude ausprobiert. Ich habe vorhin nochmal probiert, eine neue Software aufzuspielen. Den Bootloader hab ich nochmal draufbekommen (PonyProg), abermittlerweile lädt er nicht mal mehr die Software auf den ISP. Der AVR ist aber in Ordnung, zumindest laut deinem Testprogramm. Kann es sein dass der FTDI Chip ne Macke hat? Was mich noch interessieren würde: Kann ich mit den beiden Dipschaltern was anders machen, außer Bootloader/Programm wechseln?? Weil das hätte man ja auch mit einem machen können.. mfg
Hi Ist SJ2 geschlossen? Wenn die offen ist mußt du von beiden Seiten (USB und Zielschaltung) versorgen. Das Ganze ist für 3,3V Systeme gedacht. Zum Thema DIP-Schalter: Schonmal einen 1 poligen eben solchen gesehen? Ich nicht. Und wenn man zwei hat hat man immer noch etwas Spielraum für Inovationen :-) Matthias
Kleiner Nachtrag: Habs grad nochmal probiert. Bootloader scheint zu laufen, also beide Leds leuchten. Sobald ich eine neue Software aufspielen möchte, sagt avrdude "not in sync: resp 0xFF" und die Leds gehen (meistens) beide aus. Glaub echt dass der FTDI Chip ne Macke hat. Bin vorhin mit der Masse vom Oszi auf VCC gekommen, und da das Oszi und der PC geerdet sind müsste das nen Kurzschluss gegeben haben, oder täscuh ich mich? Der USB port geht aber noch. mfg
upssss... SJ2 ist natürlich nicht geschlossen. Drum geht jetzt auch gar nix mehr, hab bei meinem letzten Test keine externe Spannung angelegt.. Werd dann morgen nochmal ausfürlich testen und die Ergebnisse hier wieder reinschreiben. mfg
Also habs nochmal getestet. Er sagt grundsätzlich beim aufspielen einer Software über den Bootloader "Protokoll Error". Ab und zu scheint sich auch der USB Treiber aufzuhängen, so dass ich jetzt mal davon ausgeh dass der FTDI Chip kaputt is. Muss mir jetzt mal nen neuen besorgen und versuchs dann nochmal. mfg
Wofür ist eigentlich die Beschaltung beim ADC6 ? Im Programm wird ja gar nichts mit dem ADC gemacht außer der Initialisierung. Außerdem: Kennt jemand Windows ISP Programme ( ohne cygwin Installation etc. ) die das STK500 Protokoll beherrschen ? Grüße
Hoppla, habe angenommen avrdude gibt´s nicht für Win .... ich wurde aber eines besseren belehrt. Die Frage mit dem ADC6 bleibt aber weiterhin offen. Grüße
Hi AVRStudio spricht z.B. das STK500 Protokoll. Es gibt auch ein Kommandozeilenwerkzeug von Atmel das eben dieses Protokoll spricht. Die Beschaltung am ADC war mal dazu gedacht die Betriebsspannung des USBisp (bzw. des Mega8) an den PC zu melden. Das STK500 Protokoll hat sowas vorgesehen. In der Software hab ich das aber bis jetzt nie realisiert. Matthias
Mist, ich hab mir grad die lfuse auf 0xDA gebrannt :( wo krieg ich denn jetzt nen 0.4 - 0.9 MHz Quarz her und kann ich den einfach da anschließen? Irgendwie scheint der TXE des FTDI da mit dranzuhängen...
Hi na dann hast du jetzt ein Problem :-( Da TXE ein Ausgang des FTDI ist treibt der natürlich den Pin. Du könntest jetzt folgendes versuchen: 1MHz Quarz besorgen Quarz an Pin7 und 8 des Mega8 fummeln jeweils 22p an die Pins (Pin7 evtl. etwas weniger) SJ2 öffnen 100Ohm von USB_VCC auf Masse USBisp über isp Anschluß versorgen Programmierversuch starten Alternativ: Pin14 des FTDI vorsichtig! anheben und dann den Quarz beschalten. Matthias
bin grad am PDA über GPRS, daher kein login. Ich werd wohl das anheben probieren. Ich fahr morgen zum Pollin und hol so ein Quarzsortiment. Und laut Atmel datasheet braucht man in der config keine Kondis...
also niemals "Sortimente" beim Pollin kaufen, da waren nur 30 Stück 14,31... MHz und ein paar 10,... MHz Quarze drin :( Ob ich mal der Reihe nach alle elektronischen Geräte aufschraube? :>
Kann man da nicht irgendwie anders nen Takt drauf geben? Ich hätt nur 4 MHz Oszilatoren und 10-14MHz Quarze da... Muss ja bloß solange laufen dass ich die fuses umproggen kann, Programm ist ja eh noch keines drin. Ich möcht den Mega8 ungern gegen einen neuen ersetzen :(
http://www.klaus-leidinger.de/mp/Mikrocontroller/meinetools.html#Atmel%2090SxxxxRettung und ein Stück scrollen bis: Rettung bei versehentlich falsch gebrannten Fuses Rick
wie geil, er reagiert wieder! tausend Dank!!! Da hätt ich mir 100km zum Pollin und zum zweiten Geschäft sparen können heute vormittag :/
Hallo Matthias, was macht das -u in deinem Befehl zum Programmieren der Fuses ? > avrdude -p m8 -P xxx -c yyy -u -U lfuse:w:0xE4:m > avrdude -p m8 -P xxx -c yyy -u -U hfuse:w:0xDA:m Ich habe beide Kommandos ausgeführt aber ohne -u. Jetzt funktioniert leider nichts mehr. Grüße, Patrick
Hi das -u schaltet den Safemode von avrdude aus. Ist dieser aktiviert ließt avrdude nach eintreten in den Programming mode die Fusebits und schreibt sie direkt vor dem verlassen wieder so rein wie er sie ausgelesen hat. Damit versucht man zu verhindern das ein gekiptes Bit keine Katastrophe auslösen kann. Warum jetzt allerdings nichts mehr geht kann ich mir auch nicht erklären. Matthias
Hallo, "dump lfuse" und "dump hfuse" sagt mir, dass beide werte auf 00 stehen. Außerdem: Gibt´s -u erst in der neuen Beta Version ? Das avrdude für Windows ( 4.3.0 ) kennt -u nämlich nicht. Grüße, Patrick
Hi ich verwende avrdude 4.4.0 aus dem aktuellen WINAVR Packet. Aber mit dem Chip kannst du noch kommunizieren? Signaturlesen klappt noch? Matthias
C:\Programme\avrdude\bin>avrdude -p m8 -c stk200 avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x000102 avrdude: current erase-rewrite cycle count is -50462977 (if being tracked) avrdude done. Thank you. Das erhalte ich zurück. yaap und ponyprog das device nicht mehr finden. Was hat man da noch für Möglichkeiten? Grüße, Patrick
Nachtrag: Wenn ich versuche die Fuses nochmal zu schreiben kommt folgender Fehler ( ich hab jetzt mal die WinAVR Version genommen): C:\WinAVR\bin>avrdude -p m8 -P lpt1 -c stk200 -u -U lfuse:w:0xE4:m avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x000102 avrdude: current erase-rewrite cycle count is -50462977 (if being tracked) avrdude: reading input file "0xE4" avrdude: writing lfuse (1 bytes): Writing | | 0% 0.00s ***faile d; Writing | ################################################## | 100% 0.09s avrdude: 1 bytes of lfuse written avrdude: verifying lfuse memory against 0xE4: avrdude: load data lfuse data from input file 0xE4: avrdude: input file 0xE4 contains 1 bytes avrdude: reading on-chip lfuse data: Reading | ################################################## | 100% 0.00s avrdude: verifying ... avrdude: verification error, first mismatch at byte 0x0000 0xe4 != 0x00 avrdude: verification error; content mismatch avrdude done. Thank you. Grüße, Patrick
Hi sieht so aus als ob du dir den Reset wegdefiniert hast. Da hilft wohl nur noch ein HV-Programmer (so du einen hast) oder aber der Austausche des Mega8. Ich schreib übers Wochenend eine Notiz zur USBisp-Doku welche Version von AVRdude zum programmieren der Fusebits zu bevorzugen ist. Wobei ich mir nicht vorstellen kann das das Problem durch 4.3.0 verursacht wurde. Matthias
Hallo Matthias, ich mir nämlich auch nicht. Wenn ich jetzt einen neuen ATMega8 auflöte würde ich das ganze mal gerne mit YAAP testen. So wie ich gelesen hab änderst du folgende Sachen: CKSEL2 auf 1 unprogrammed CKSEL0 auf 0 programmed Außerdem: BOOTSZ0 auf 1 unprogrammed BOOTRST auf 0 programmed Richtig ? Grüße, Patrick
Hi kann ich jetzt nicht prüfen da ich weder Datenblatt noch Quellcode zur Hand habe. Werd ich aber heute Abend tun und hier dann reinstellen. IIRC ist im ZIP auch ein Screenshot von Ponyprog dabei mit den nötigen Fusebit Einstellungen. Matthias
Hallo Matthias, stimmt! Das werde ich dann mal benutzen , hoffentlich zerschieße ich nicht noch einen ATMega ;-) Grüße, Patrick
Also bei mir funzt der USBisp ja, aber -u kennt mein AVRdude auch nicht. Version ist 4.4.0 IMO aus der WinAVR-Bundle...
Dieser USB ISP Adapter sieht eigentlich recht gut aus. Auf der Website habe ich jedoch kein Platinenlayout gefunden. Bin ich nur zu blöd zum suchen oder muss man die Platine irgendwo fertig kaufen?
"The CAD data isnt made public. You can get PCBs from me for a small amount of money. Just write an email to matthias@matwei.de and include USBisp into the subject." Steht doch da :)
Hallo, der ATMega ließ sich doch noch ansprechen. Vielleicht hat er das Wochenende gebraucht ? ;) Ich habe jetzt den bootloader und die app.hex geladen, den Rest teste ich dann später. Grüße
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.