Hallo, Ich habe seit langem wieder das Atmel-Studio bzw. Micochip Studio 7.0.x in betrieb. Wollte einen Atmega 328P welcher sich auf dem Arduino-Board befindet beschreiben. Habe diesen mit dem Atmel-Ice erfolgreich beschrieben. Habe dann anschließend in den Einstellungen des Tools "DebugWire" ausgewählt wo eine Box erschien und ich einfach nur Enter gedrückt habe. Kann den 328P nicht mehr programmieren da ich nicht von dem DebugWire-Modus wegkomme. Habe versucht den Debug erneut zu starten indem ich im Menüpunkt Debug/ "Start Debugging and Break" (1.png) auswählte und anschließend Debug/ "Stop Debugging" (2.png). Anschließend kam eine Meldung (3.png) welche ich mit Ja bestätigte und dann eine weitere Fehlermeldung (4.png) Kann mich wer aufklären wie ich da wieder rauskomme?
Roman R. schrieb: > Wollte einen Atmega 328P welcher sich auf dem Arduino-Board befindet > beschreiben. Lass mich raten: der hat einen Kondensator am /RESET-Pin, oder? Mach den ab. Und schau nach, ob sie einen Pullup dran haben. Man braucht so um die 4,7 oder 10 kΩ Pullup (mal geht der eine Wert besser, mal der andere). Das Dumme ist halt, dass die debugWIRE-Aktivierung eine Einbahnstraße ist: damit definierst du den /RESET-Pin zum debugWIRE-Pin um. Da er kein Reset mehr auslösen kann, funktioniert ISP so erst einmal nicht. Der Rückweg benötigt daher zwingend ein funktionierendes debugWIRE, denn der geht so, dass man mit einem debugWIRE-Kommando den /RESET-Pin temporär wieder zu /RESET macht, um auf diese Weise wieder ISP machen zu können. (Der Zustand hält bis zu einem Power-Cycle an, danach werden die Fuses neu eingelesen und folglich wird debugWIRE wieder aktiviert, falls DWEN noch gesetzt ist.) debugWIRE selbst ist eine Art Monitor-ROM, damit hat dieser Modus nur Zugriff auf Ressourcen, auf die die CPU zugreifen kann. Fuses setzen geht (sinnvollerweise) von der CPU aus nicht, das braucht unbedingt einen Programmiermodus (ISP oder HV).
Beim alten AVR Studio musste man einfach nur den Debugger der IDE starten und dann die Debug-Sitzung beenden. Ich meine, dass avrdude das Problem automatisch behebt. Versuche mal, den Chip mit avrdude anzusprechen. avrdude -p atmega328p -c atmelice_isp
Stefan ⛄ F. schrieb: > Ich meine, dass avrdude das Problem automatisch behebt. AVRDUDE versucht von sich aus, den debugWIRE-Modus zu deaktivieren, wenn die ISP-Aktivierung nicht geklappt hat. Das ist die von mir genannte temporäre Rückschaltung des /RESET-Pins. Danach hat man halt die Möglichkeit, einen neue Firmware per ISP zu flashen (das würde allerdings auch im dW-Modus gehen), oder aber man kann die Fuses ändern und DWEN wieder abschalten. Anders als *-Studio macht AVRDUDE dies jedoch nicht von sich aus, das muss man schon mit -U hfuse:... explizit selbst tun.
Den Pullup von 10k hatte ich schon drangehängt. Jedoch hat sich nach dem auslöten des Kondensators nichts geändert. Mit AVRdude habe ich noch nichts gemacht. Das avrdudeGUI.exe konnte ich starten, aber die avrdude.exe nicht. Habe jetzt einen Atmega328P und den externen Schwingquarz auf ein Steckbrett getan um das dort zu versuchen. Muss feststellen, dass sich nichts geändert hat. Kann den Chip weder auslesen noch programmieren. Wie wenn Microchip Studio aus dem Modus nicht rauskommt. Habe den PC neu gestartet, aber das selbe Problem. Vl. ist das mit Microchip Studio doch nicht das Gelbe vom Ei.
Ich hatte beim MSP430G ebenfalls einen Konflikt zwischen der Resetschaltung und den Spywire Interface. Lösung : ich habe Spywire und Resetschaltung mit einem Widerstand entkoppelt, da sonst der Kondensator der Resetschaltung die Flanken des Spywiresignals verschleift und es zu Bitfehler kommt.
:
Bearbeitet durch User
Roman R. schrieb: > Den Pullup von 10k hatte ich schon drangehängt. Dann kannst du es stattdessen mit 4,7 kΩ probieren. > Jedoch hat sich nach dem > auslöten des Kondensators nichts geändert. Der ist eigentlich in dieser Schaltung auch nicht „im Weg“. > Habe jetzt einen Atmega328P und den externen Schwingquarz auf ein > Steckbrett getan um das dort zu versuchen. Ohne irgendwelche /RESET-Beschaltung außer einem Pullup von 4,7 oder 10 kΩ sollte es aber funktionieren. Natürlich auf dem Steckbrett nicht die Abblock-Kondensatoren vergessen sowie eine vollständige Verdrahtung von Vcc+AVcc und GND. Einen Quarz brauchst du erst einmal nicht, ab Werk arbeiten die Teile mit dem eingebauten Oszillator.
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.