Hallo da. Ich habe hier ein Board von Olimex das einen AT90USB162 beherbergt. Programm per USB aufspielen (mit Flip) ging wunderbar. Nun mußte ich jedoch mal debuggen und habe per ISP (mit JtagICE MKII) das Debugwire angeschaltet. Seit dem komme ich mit keinem Weg mehr aufs Board... DebugWire kann ich auch nicht wieder aus schalten, da ich in AVR-Studio nicht in den Debugging-Modi komme. Hat hier jemand eine Idee dazu? Hat dies evtl. etwas mit dem HWB-Switch zu tun? Hoffe mir kann jemand helfen. Björn
Ich habe keine Erfahrung mit DebugWire, aber in dem Artikel dazu (http://www.mikrocontroller.net/articles/DebugWIRE ) steht die Vorgehensweise, wie man das wieder abschaltet. Der HWB-Button könnte Dir begrenzt helfen, sofern Du den originalen Bootloader noch auf der CPU hast. Halte den gedrückt während Du einen Reset auslöst, dann kommt der im USB-Bootloadermodus hoch und Du kannst mit FLIP ein neues Programm aufspielen. Allerdings kannst Du so nicht die Fuses ändern. Viele Grüße, Simon
Hi Simon. Ich habe schön öfters mit Debugwire gearbeitet und nie das Problem gehabt. Blöderweise kann man im AVR-Studio diese Funktion nur deaktivieren, wenn man anfängt zu debuggen. Der HWB-Button hilft leider nicht. Der uC stellt auch keine Verbindung zu Windows mehr her - im Gerätemanager regt sich gar ncihts :-( Weiter Ideen? Als her ;-) Gruß Björn
Kann hier evtl. AVRdude helfen? Kennt sich damit jemand aus und kann es bestätigen? Björn
Björn G. schrieb: > Kann hier evtl. AVRdude helfen? Vorausgesetzt, dass dein debugWIRE überhaupt funktioniert, könnte AVRDUDE helfen. Das heißt, es muss hardwaremäßig gehen, also am besten ein völlig unbeschalteter /RESET-Anschluss, auf keinen Fall irgendwelche Kondensatoren dran (ein Pullup von 4,7 oder 10 kΩ klappt meistens noch). Setze einfach mit AVRDUDE ein normales ISP-Kommando ab, beispielsweise avrdude -p at90usb162 -c jtag2isp -P usb -t Das geht natürlich erst einmal nicht (weil ja debugWIRE aktiv ist), aber AVRDUDE versucht daraufhin, die debugWIRE-Disable-Sequenz anzuwerfen. Danach muss man einfach nur das gleiche Kommando nochmal absetzen, das sollte diesmal funktionieren. Durch das -t ist man dann im Terminal-Modus, wo man die hfuse wieder korrigieren kann.
Hi Jörg. Vielen Dank für die schnelle Antwort! Habe es nun einmal mit avrdude getestet. Hier das Ergebnis:
1 | C:\Users\****>avrdude -p at90usb162 -c jtag2isp -P usb -t |
2 | avrdude: jtagmkII_setparm(): bad response to set parameter command: RSP_FAILED |
3 | avrdude: jtagmkII_getsync(): ISP activation failed, trying debugWire |
4 | avrdude: jtagmkII_setparm(): bad response to set parameter command: RSP_DEBUGWIRE_SYNC_FAILED |
5 | avrdude: failed to sync with the JTAG ICE mkII in ISP mode |
6 | avrdude: jtagmkII_close(): timeout/error communicating with programmer (status - 1) |
7 | |
8 | avrdude done. Thank you. |
Ich nutze das Programm unter Win7 in der Dos-Box mit Administrator-Rechten. Da ich nun die libusb für das Gerät installiert habe, komme ich mit dem AVR-Studio auch nicht mehr drauf :-) Vorher wurde der Debugger ja unter "Jungo" in den Geräten angezeigt. Bin mir jetzt nicht sicher wie es mit AVR-Studio so war, aber wenn avrdude versucht auf das Device zu zu greifen, geht die interne USB-Led öfters mal aus und wieder an. Weiterhin ist mir aufgefallen, das der Geräteeintrag aus dem Manager raus fällt, wenn ich versuche auf den uC drauf zu zu greifen. Und nun mal Frühstück - hab die halbe Nacht hier rum getestet :-) Björn
Noch was neues: Habe es nun zusätzlich mal bei einem WinXP-PC getestet - da kommen die selben Meldungen. Auch das raus schmeissen aus dem Gerätemanager passiert unter dem OS. Der /Reset ist derzeit komplett urbeschaltet. Nu aber Essen :-) Björn
Auch bei dem AVR-Studio selber meldet sich der JtagIceMKII beim Zugriff ab und wieder an. Kann Ihn jetzt auch wieder mit dem AVR-Studio ansprechen. Das, um den Thread aktuell zu halten... Björn
Björn G. schrieb: > avrdude: jtagmkII_setparm(): bad response to set parameter command: RSP_DEBUGWIRE_SYNC_FAILED Hmm, schlechte Karten. Das liegt sehr sicher nicht an irgendwelchen Betriebssystemdingen, sondern am Controller selbst. Die Meldung vom JTAG ICE wird ja schließlich ordentlich empfangen. Du kannst noch probieren, ob ein Pullup (4,7 oder 10 kΩ) die Sache vielleicht verbessert.
Mit dem PullUp habe ich schon getestet. Wie habe ich das nur hin bekommen das der nun so zerstört ist. Naja, vielen Dank für die Hilfe! Glücklicherweise sind die uC grade bei Farnell und Konsorten ordentlich ausverkauft...habe ich grade ne Glückssträhne ;-) Björn
Björn G. schrieb: > Wie habe ich das nur hin bekommen das der nun so zerstört ist. Mit diversen Stromspar-Modi bekommt man debugWIRE "kaputt", d. h. es fährt den IC in einen Zustand, indem man ihn nicht mehr benutzen kann (weil kein externer RESET mehr geht, aber die Stromspar- Funktionen das debugWIRE-Subsystem abgeklemmt haben). Mit einem STK500 oder AVR Dragon könntest du noch versuchen, mit HV-Programmierung ranzugehen. Das wird aber nur außerhalb des Boards klappen, also runterfönen und auf ein Breakout-Board drauf löten.
Das mit den Stromsparmodis und Debugwire glaub ich dir sofort. Das Programm das ich drauf gespielt hatte, war jedoch wirklich nur ein HelloWorld bzw. ein Led-Blink Testprogramm :-) Für HV Programmierung habe ich gerade nichts zur Hand. Ich werde einen anderen Controller drauf löten und nochmal mein Glück versuchen. Den alten behalte ich mal hier falls ich mal ein HV Prog Gerätchen hier hab. Danke für alles. Björn
Björn G. schrieb: > Das Programm das ich drauf gespielt hatte, war jedoch wirklich nur ein > HelloWorld bzw. ein Led-Blink Testprogramm :-) Dafür sollte sowas allerdings nicht passieren. Mal gucken, ich will mich demnächst auch mal mit einem AT90USB162 rumärgern... wird sich allerdings aufgrund anderer Prioritäten noch ein...zwei Monate hinziehen.
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.