ISP Mode Error in AVR Studio

Gast #2378337
Lesenswert?

Hallo!

möchte ein Programm auf den Atmega168 über ISP übertragen. Immer wieder 
bekam ich den ISP Mode Error mit einer Warnung wie:
1
"warning flash byte address 0x0000 is 0xff should be 0x0c .. FAILED"
Als ich dann die SD-Karte aus meiner Schaltung herausgezogen hatte 
funktionierte es wieder. Jetzt habe ich das Problem, dass ich diesen 
Fehler bekomme:
1
"Entering programming mode... FAILED"
D. h. ich kann nichts mehr auf den µC übertragen oder abfragen. Ich 
hatte vorher bei den Fuses verschiedene Einstellungen bei External 
Crystal gemacht. Kann das der Grund sein?

Hat jemand eine Idee wo ich den Fehler suchen könnte? Habe es auf zwei 
verschiedenen Boards schon probiert... bei einem Atmega8 gibt es keine 
Probleme. Kann ich davon ausgehen, dass der µC kaputt ist? War 
eigentlich ganz neu!

Kann man den Controller irgendwie auf den Anfangszustand zurücksetzten?

Wäre klasse wenn jemand weiterhelfen kann!

Gruß Thoms
#2378356
Lesenswert?

Hallo,
höchstwarscheinlich hast den Controller verfused, d.h. du hast ihm 
Fuseeinstellungen eingebrannt, die nicht zu seiner Außenwelt passen und 
somit außer Gefecht gesetzt. In deinem Beispiel wahrscheinlich ein Quarz 
eingestellt, obwohl gar keins dranhängt!
Wenn du keine Ahnung hast, was zuletzt auf dem Controller für Fuses 
eingestellt waren, kannst du ihn nur noch durch 
Hochspannungsprogrammierung wieder in den Anfangszustand zurücksetzen, 
was aufwendig ist.
Weist du die Fuses noch, kannst du ja den Controller in das Umfeld 
bringen, das du ihm vorgegeben hast.

Mein Rat an dich:
Spiel nicht wahllos mit den Fuses rum, sondern informiere dich im 
Datenblatt und stelle erst dann die Fuses, wenn du dir zu 100% sicher 
bist, dass du nichts "zerstörst"!

julian
Gast #2378383
Lesenswert?

Habe einen externen Quarz in meiner Schaltung. Bei der riesen Auswahl 
der Fuses wusste ich halt nicht genau welche Einstellung ich nehmen 
muss. Da war ich wohl zu voreillig und hab die falsche Einstellung 
genommen... dass ich so den µC verabschieden würde, hätte ich nicht 
gedacht. Hatte auch schonmal einen µC mit Einstellung für externen 
Quarz, den ich auch in einer Schaltung ohne Quarz ansprechen konnte...?

@Hannes: Wenn ich den Reset-Pin als Ausgangspin verwende, habe ich keine 
Chance?

@Julian: Wie funktioniert denn die Hochspannungsprogrammierung? Mein 
Problem ist, ich habe nur diesen einen Atmega168 :-(
#2378604
Lesenswert?

Thomas G. schrieb:
> Habe einen externen Quarz in meiner Schaltung. Bei der riesen Auswahl
> der Fuses wusste ich halt nicht genau welche Einstellung ich nehmen
> muss. Da war ich wohl zu voreillig und hab die falsche Einstellung
> genommen...

Dann nimm doch mal einen Quarzoszillator (Blechsarg mit 4 Pins, aus dem 
bei Anlegen der Versorgungsspannung der fertige Takt mit TTL-Pegel 
rauskommt) und lege den Takt direkt an den Takteingang des AVRs (siehe 
Datenblatt, Kapitel "Clock Sources"). Dann funktioniert auch ISP wieder, 
sofern der Resetpin nicht weggefust wurde.

> dass ich so den µC verabschieden würde, hätte ich nicht
> gedacht.

Das ist aber allgemein bekannt, dieses Forum ist voll von Hilferufen von 
Leuten, die ohne Verstand an den Fuses herumgespielt haben.

> Hatte auch schonmal einen µC mit Einstellung für externen
> Quarz, den ich auch in einer Schaltung ohne Quarz ansprechen konnte...?

Das halte ich für ein Gerücht - ääähhh Missverständnis Deinerseits.

> @Hannes: Wenn ich den Reset-Pin als Ausgangspin verwende, habe ich keine
> Chance?

Doch, dann brauchst Du einen Programmer, der den HV-Modus 
(Hochvolt-Modus) unterstützt, z.B. STK500, AVR-Dragon.

> @Julian: Wie funktioniert denn die Hochspannungsprogrammierung? Mein
> Problem ist, ich habe nur diesen einen Atmega168 :-(

Unter "Hochspannung" verstehe ich zwar was Anderes, aber Julian meint 
den HV-Modus. Die dabei verwendete "Hochspannung" beträgt 12V und wird 
vom Programmer an den Resetpin gelegt.

Wie das funktioniert, steht haarklein im Datenblatt des Controllers. Wie 
das aus Anwendersicht funktioniert, beschreibt die Hilfedatei zum 
STK500, die mit AVR-Studio4 mitgeliefert wird.

...
(Firma: TravelRec.) Persönliche Seite #2378677
Lesenswert?

Thomas G. schrieb:
> Als ich dann die SD-Karte aus meiner Schaltung herausgezogen hatte
> funktionierte es wieder.

Was dafür spricht, dass die SD-Karte keinen Pullup an /CS hat(te). Sie 
hat daher beim Proggen dazwischengequatscht und so den Programmer 
verwirrt. Wenn Du richtig Pech hast, machst Du Dir auf die Weise auch 
noch die SD-Karte kaputt. Moral: alle Bausteine, die sich an einem 
gemeinsamen SPI befinden, benötigen einen eigenen (externen) Pullup an 
/CS.
Gast #2379184
Lesenswert?

Vielen Dank für die Antworten!

Habe leider keinen Quarzoszillator da, daher habe ich mir einen neuen µC 
bestellt. Habe den USBProg von "Embedded Projects", damit ist scheinbar 
die HV-Programmierung nicht möglich...

An der SD-Karte habe ich wirklich keinen Pullup dran. Wieviel Ohm sind 
dafür geeignet? Bisher hatte ich einen Atmega8 in meiner Schaltung, da 
gab es nie Probleme...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren