Forum: Mikrocontroller und Digitale Elektronik Atmel ICE ATmega328P


von Joachim D. (rockjoe)


Lesenswert?

Hallo,

als Anfänger auf dem Gebiet Debuggen mit einem Debugger wende ich mich 
nun hilfesuchend an euch.
Ich habe mir den Atmel ICE Basic Debugger bestellt, um meinen ATmega328P 
debuggen zu können.
Der ATmega328P ist auf einem Arduino Nano Board, wie hier zu sehen ist 
https://cdn-reichelt.de/bilder/web/xxl_ws/A300/ARDUINO_NANO_03.png



Dazu habe ich die Schritte, wie hier beschrieben 
(http://www.crash-bang.com/debug-atmel-ice/) durchgeführt und nun kann 
der Mikrocontroller weder über den Atmel ICE Basic noch über mein AVR 
ISP MkII mehr angesprochen werden.

Ich verstehe echt nicht was da schief gelaufen ist.
Den Atmel ICE Basic hatte ich mit Hilfe des mitgelieferten 
Flachbandkabels an die ISP Buchse meines ATmega328P auf dem Arduino Nano 
Board verbunden.

ANMERKUNG: Es wurde damals der Arduino Bootloader entfernt und von da an 
schön brav mit dem AVR ISP MkII in Atmel Studio programmiert.

Atmel Studio hat mich nach Auswahl von "Start Debugging & Break" darauf 
hingewiesen, dass das FUSE-Bit DWEN noch nicht gesetzt ist und, ob ich 
es über SPI setzen lassen soll. Soweit so gut.

Dann kam die Meldung mit "Toggle Power". Also habe ich den Atmel ICE an 
der ISP Buchse meines ATmega328P angeschlossen gelassen, die 
Versorgungsspannung vom ATmega entfernt, gewartet und die 
Versorgungsspannung wieder angeschlossen.
Anschließend habe ich in dem Fenster "Power Cycle" mit OK bestätigt und 
dann kam von Atmel Studio eine weitere Fehlermeldung und nun ist der 
ATmega überhaupt nicht mehr ansprechbar.

Beim zweiten Versuch mit einem weiteren ATmega328P habe ich dieses mal 
zunächst "Erase chip" durchgeführt, um die Lockbits löschen zu lassen, 
wie es Atmel im Doc zu "atmel-ice_userguide.pdf" beschrieben hat.


Könnmt ihr mit weiterhelfen?

von Flo (Gast)


Lesenswert?

Reset Beschaltung prüfen. Ist ein Kondensator am Reset gegen Masse dann 
muss er raus. Sonst geht debugwire nicht.

Gruß
Flo

von Flo (Gast)


Lesenswert?

Hab gerade mal in den Arduino Schaltplan geschaut. Kondensator ist 
keiner drin, aber der Pull up mit 1k zu klein für debugwire. Tausche 
gegen 10k dann geht debugwire.

Gruß
Flo

von Arduinoquäler (Gast)


Lesenswert?

Flo schrieb:
> Kondensator ist keiner drin,

Also in meinem Arduino Nano Schaltplan ist einer drin der
mit dem USB Chip verbunden (DTR) ist, insofern sind deine
Bedenken angebracht (dass man über Debugwire ohne Hardware-
Änderungen arbeiten kann).

von Flo (Gast)


Lesenswert?

Tatsache... Hab den Plan nur überflogen und dabei das Label übersehen.
Dann hat er jetzt zwei Probleme. :-)

Gruß
Flo

von Arduinoquäler (Gast)


Lesenswert?

Ich habe mal testhalber einen Arduino Nano mit dem AVR ISP MkII
angesprochen, das funktioniert problemlos auch mit eingebautem
Reset-Kondensator. Also ISP sollte funktionieren ....

Hier zur Kontrolle die Fuses mit dem er ansprechbar ist
(dann funktioniert auch der Bootloader sofern er drin ist):

Ext:  0xFD
Hi:   0xD2
Low:  0xFF

(laüft mit externem Quarz 16 MHz bzw Resonator)

von Rudolph (Gast)


Lesenswert?

Arduinoquäler schrieb:
> Also ISP sollte funktionieren ....

Wenn Debugwire erstmal aktiviert ist, funktioniert ISP nicht mehr.
Und wenn dann Debugwire nicht geht, kann man es auch nicht mehr 
umstellen.

von Flo (Gast)


Lesenswert?

Arduinoquäler schrieb:
> Ich habe mal testhalber einen Arduino Nano mit dem AVR ISP MkII
> angesprochen, das funktioniert problemlos auch mit eingebautem
> Reset-Kondensator. Also ISP sollte funktionieren ....

ISP ist auch kein Problem. Aber wenn man die Debugwire Fuse setzt und 
den Controller neu startet, dann ist ab dann Debugwire aktiv.
Und das kommuniziert mit einem seriellen bidirektionalen Protokoll über 
den Reset Pin. Hängt dort eine Kapazität dran funktioniert Debugwire 
nicht mehr. ISP kann man dann nur über Debugwire (oder HV Programming) 
wieder aktivieren... Und da beißt sich die Katze in den Schwanz. :-)

Gruß,
Flo

von Joachim D. (rockjoe)


Lesenswert?

Hallo,

danke für eure Antworten. Also ich hatte in dem ATmega keinen Arduino 
Bootloader drin, als ich das Debuggen probierte.

Habe ich euch jetzt richtig verstanden, dass am RESET-Pin kein 
Kondensator gegen Masse vorhanden sein darf, um debugWire zum Laufen zu 
bringen?


Wie komme ich jetzt wieder an meine yC ran, um die wieder nutzen zu 
können? Hab mal was davon gelesen, dass man das STK500 oder so ähnlich 
braucht. Was könnt ihr mir empfehlen?

Gruß Joachim

von Flo (Gast)


Lesenswert?

Joachim D. schrieb:
> Wie komme ich jetzt wieder an meine yC ran, um die wieder nutzen zu
> können?

Wenn du es dir zutraust: Löten den Kondensator C4 zum DTR Pin raus und 
heb ihn auf, falls du es zurückbauen möchtest.
Dann ersetze den 1k Pull-Up RP1D an Reset gegen 10k.

Hier der Schaltplan:
https://www.arduino.cc/en/uploads/Main/ArduinoNano30Schematic.pdf

Gruß,
Flo

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
Noch kein Account? Hier anmelden.