AVRDUDE wirft "Ziel antwortet nicht". mit USBASP und ATMEGA48PA

Bisher konnte ich problemlos eine Schaltung mit einem ATMEGA48PA umprogrammieren. Bis ich bekam (nachdem anscheinend erfolgreich programmiert wurde):

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0x19 != 0x00
avrdude: verification error; content mismatch

Jetzt bekomme ich jedes Mal, wenn ich versuche, es zu programmieren:

avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: programm enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

Bei diesem letzten erfolglosen Programm (das mit dem Verifizierungsfehler) hatte ich den Reset-Pin manuell heruntergezogen. Kann das so geschadet haben? Laut meinem Multimeter wird die Reset-PIN standardmäßig abgerufen (es wird also angenommen, dass sie immer noch als Reset konfiguriert ist).

Haben Sie ein letztes Mal die Sicherungsbits geändert, als die Programmierung tatsächlich funktionierte?
Hast du den Atmega mit einem Crystal oder ohne betrieben?
Schon mal einen anderen Chip probiert?
Normalerweise erhalte ich diese Meldung, wenn der Mikrocontroller nicht vom Programmierer mit Strom versorgt wird oder ich den Programmierer versehentlich falsch mit dem Mikrocontroller verdrahte. Ich bin sicher, Sie haben es mehrmals überprüft, aber nur für den Fall.
@miceuz Nein, habe ich nicht. Ich habe die Sicherungen nie gewechselt, also hätte der interne Oszillator geteilt durch 8 verwendet werden sollen. Die Platine hat jedoch einen 8-MHz-Quarz.
@LeonHeller Nein, habe ich nicht. Es befindet sich in einem Surface-Mount-Paket. Ich kann es ändern, wollte aber zuerst wissen, ob jemand einen Vorschlag hätte.
@capcom Ich habe eine Platine mit einem 6-poligen ISP-Anschluss, daher gibt es nur zwei Möglichkeiten, sie anzuschließen. Ich verwende nicht die Stromversorgung des Programmierers, ich verwende eine externe Quelle.
@Eduardo irgendein Erfolg in dieser Frage?

Antworten (1)

Sie können die ISP-Schnittstelle des Atmega48 absichern, wenn Sie den eingehenden Programmierdatenstrom einfach so beschädigen, aber das wäre sehr schwierig. Obwohl ich gesehen habe, dass es bei verschobenen Byte-Streams passiert ist, die Ihre manuelle Überschreibung der Reset-Leitung verursacht haben könnte (aber immer noch höchst unwahrscheinlich).

Es ist auch möglich, dass der USBASP ein Firmware-Update benötigt (wie in der Warnmeldung vorgeschlagen) oder lediglich neu geflasht werden muss. Wie in, Sie hatten einfach Pech mit Ihrem Timing und dies ist wirklich ein unabhängiger Fehler im USPASP.

avrdude ist schrecklich beim Debuggen von Programmierkommunikationsproblemen. Verwenden Sie dafür besser den AVR Programmer (Teil von AVR Studio).

Für das allgemeine Diagnoseverfahren siehe diese Frage:

avrispMKII Kurzschlussschutz löst beim Programmieren aus

Es funktionierte mit dem gleichen Programmierer und der gleichen Firmware. Ich kann mit diesem Programmierer auch problemlos einen Arduino (ATMEGA328P) programmieren, daher kann es zu einer Beschädigung der Sicherung kommen.