mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega lässt sich nicht mehr flashen


Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ich hab ein Problem, dass sich ein ATmega8 nicht mehr beschreiben
lässt. Auslesen kann ich ihn (teilweise) noch.

Vom Programmflash kann ich noch die ersten 180 Bytes auslesen, der Rest
ist 0xFF (kann sein dass ich das mit Chip-erase schon gelöscht habe)

Die Fuses kann ich auch noch auslesen (sind leider falsch gesetzt)

Sobald ich irgend einen Schreibbefehl sende, antwortet er nur noch mit
0xFF, dann muss ich den Strom abdrehen, damit ich überhaupt wieder
Zugriff habe.

Vermutlich ist beim "Rumspielen" mit den Fusebits was kaputt
gegangen, aber warum kann ich noch lesend darauf zugreifen und sobald
ich schreiben will, schaltet sich das SPI ab?

Es ist jetzt keine all zu große Aktion, den AVR auszutauschen, aber
dennoch würde mich interessieren, was ich da falsch gemacht habe und ob
man noch was retten kann? (evtl mit HV-Programmer, welchen ich aber
nicht habe)

Sowohl AVR-Prog + AN910-Programmer als auch Ponyprog + STK200-Dongle
zeigen das Selbe Verhalten


Gruß
Roland

Autor: xeus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind die Fusebis richtig gesetzt?

gruß
xeus

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was für Fuses sind falsch?

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ja das Problem, die Fusebits sind falsch gesetzt, ich kann sie
zwar noch auslesen, aber sobald ich einen "Chip-erase" ausführe,
antwortet der Controller nur noch mit 0xFF
Beim Auslesen sind folgeden Bits gesetzt:
SPI-Enable (OK)
Bootrst    (will ich nicht)
WDTON      (will ich nicht)
FULL Amplitude (???)

Reset-disable und EESAVE sind nicht gesetzt.
XTAL ist auf Medium Frequency (schwingt auch)
Startup: 1KClk

NAch einem Schreibzugriff bleibt eine Leitung vom SPI-Interface dauernd
auf LO (Angeschlossene LED leuchtet)

Gruß
Roland

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du die Fuses nicht mehr setzen kannst und der Programmer sicher OK
ist, hilft eventuell noch HV-Prog. oder neu.

Autor: xxx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn nichts wichtiges drauf ist und der MC auf einem Sockel sitzt,
investier 5€ für nen neuen. Sicher dir aber zuvor das Prog von dem
alten

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf XTAL1 (Pin9 bei PDIP) mal einen Takt zwischen 1 und 4 MHz eingeben,
dann noch mal probieren.
Meistens haut es die Fusebits für den Takt weg.
Wenn das nicht hilft, hilft wohl nur noch ein HV-Parallel-Programmer,
z.B. STK500.

Gruss
Jadeclaw.

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab inzwischen einen neuen eingelötet, wollte mich nicht länger
damit ärgern.

Was mich aber wundert, dass ich solange im Chip rumlesen kann wie ich
will, aber nach einem Schreibkommando die SPI-Schnittstelle "tot"
ist. Dann hilft nur Betriebsspannung weg nehmen.

Ich denk dass die SPI-Schnittstelle einen abbekommen hat (vielleicht
hab ich aus Versehen den Stecker gezogen während noch Betriebsspannung
anlag)
Das mit externen Takt hab ich übrigens auch probiert -> brachte
nichts.

Gruß
Roland

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann hat er wohl wirklich was abgekriegt.
Merkwürdig ist es trotzdem, normalerweise sollte das Teil garnicht mehr
reagieren.
Meine haben das ISP-Steckerziehen bisher überlebt.

Gruss
Jadeclaw.

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So hab soeben den zweiten controller irgendwie vernichttet. Exakt selbes
Phänomän. So lange ich nur Lesekomandos über die SPI schicke,
funktioniert alles (auch das Programm im Controller läuft noch)
Nach nem Schreibkommando hängt der Controller total (nicht mal RESET
hilft)
Bevor ich mich aber jetzt wieder lange ärgere, löte ich einen neuen
ein, trotzdem würde mich interessieren, ob man die Teile irgendwie
wieder zum Leben erwecken kann

Gruß
Roland

Autor: Ernst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bevor Du den Dritten schrottest, solltest Du vielleicht mal die
Schaltung überprüfen, in der die stecken... von allein gehen die ja ned
kaputt.

Und vielleicht mal testen ob die "kaputten" vielleicht funktionieren
wenn Du die ausserhalb deiner Schaltung mal an nen Progger hängst.

/Ernst

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die einfachste und schnellste Methode das von Dir beschriebene Verhalten
zu reproduzieren, ist das RSTDISBL Fuse bit zu setzen ):-

Gruß
Reiner

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hatte auch schon öfters solche Probleme. Seit ich die AVRISP-Mouse
benutze hab ich meine Ruhe. Habe schon gelesen das das durch
Leitungsreflektionen kommen kann. Bei manchen brachte es was den HCT244
gegen einen HC bzw. umgekehrt zu tauschen. Oder Wiederstände in die
Leitungen zu setzten um diese Reflektionen zu verhindern. Oder evtl.
die Programmiergeschwindigkeit runtersetzen. Das die Flanken nicht so
nah aneinander sind.

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Argh! Controller nummer 3 hin. :-(
Werd wohl jetzt doch mal versuchen einen HV-Programmer zu bauen,
vielleicht kann ich sie dann wieder retten.
An den Leitungslängen könnte es natürlich auch liegen, ich verwende
einen AN910 Programmer (Meine AVRISP-Maus hab ich leider durch unsanfte
Behandlung geschrottet)

Kann man eigentlich einen Controller noch auslesen, wenn RSTDISBL
gesetzt ist?

Gruß
Roland

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
WAAAAA!!! Nummer 4...
Ich werd noch verrückt, hab jetzt die neuste Firmware auf mein avr910
programmer aufgespielt und anstatt AVRprog AVRdude verwendet.
AVRdude brachte dann einen Verify-Fehler und dass sich die Lockbits von
0xEC 0xD9 auf 0x00 0x00 geändert haben. Hab den controller vielleicht
20x geflashed, und jetzt wieder das Selbe...

Die ganze Sch*** ist dass sich die Controller noch alle auslesen lassen
und das zuletzt geflashte Programm auch noch drauf ist und läuft. (also
denk ich dass RSTDISBL nicht gesetzt ist)
Sobald man einen Schreibbefehl hin schickt, hängt er sich total auf und
man kann nur noch die Spannung weg nehmen.

Hab jetzt 4 Controller die sich dies bezüglich gleich verhalten...
Evtl hat noch jemand n Tip...

Gruß
Roland

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder es liegt an der invertierten Schreibweise vieler Programme bei
manchen muss das Häckchen bei RSTDSBL hin und bei manchen nicht.
Deswegen vorher immer die Fuses auslesen. Oder mal die Programmierer
ansprechen sollte doch möglich sein ne Warnmeldung zu bringen wenn das
ganze so eingestelt wird das der Reset Pin deaktiviert wird so das man
weiß aha das ist die gefährlichere Einstellung

Autor: Thomas K. (thkais)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du die Controller aus der Schaltung herausnimmst und in einer
anderen Schaltung ausprobierst - haben sie dann das gleiche Verhalten?
In Deinen Schaltungen muss doch ganz gewaltig etwas schief laufen.
Alles nochmal nachprüfen.

Autor: Feadi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

@Roland Praml:
Ich habe meine Mega8'ter schon öfter mal "gebrickt", und dann wieder
"debrickt". Damit habe ich Erfahrung ;)

Poste doch bitte mal den Schaltplan und ein Foto von dem Aufbau. Das
würde mich sehr interessieren. Du hast geschrieben das Du jetzt schon 4
stück hast die nichtmehr gehen.

Angebot: Wenn Du magst, schick mir einen, mit einem frankierten
Rückumschlag, ich werfe mal einen Blick drauf.

Gruß, Feadi
P.S. Ich interessiere mich für "spinnende" AVR's mehr als für
"brave" ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.