Forum: Mikrocontroller und Digitale Elektronik Kann atmega8 nicht mehr programmieren (flash error)


von Stefan Söffing (Gast)


Lesenswert?

Hallo zusammen,

ich bin fleisig am basteln mit meinem AtMega8L. Seit gestern lässt er
sich aber nicht mehr programmieren (mit uisp unter Linux), ich bekommen
nur folgende Meldungen:

-----
uisp -dprog=stk200 -dpart=atmega8 -v if=avrtest.hex --erase --upload
--verify
AVR Direct Parallel Access succeeded after 0 retries.
Atmel AVR ATmega8 is found.
Erasing device ...
Reinitializing device
AVR Direct Parallel Access succeeded after 0 retries.
Atmel AVR ATmega8 is found.
Uploading: flash
############
(total 360 bytes transferred in 0.36 s (1007 bytes/s)
Polling: count = 7, min/avg/max = 4.12/7.13/13.66 ms
Verifying: flash
#flash error at address 0x1: file=0xe4, mem=0xc0
flash error at address 0x2: file=0x0a, mem=0x08
[...]
flash error at address 0x99: file=0x95, mem=0x80
(total 360 bytes transferred in 3.33 s (108 bytes/s)
-----

Die Lock-Bits sind alle unprogrammed (1), Fuse Bytes: 0xd9df
Am Programmer dürfte es eigentlich nicht liegen, außerdem kann ich die
Fuse-Bits ohne Probleme lesen und schreiben.

Es kann passiert sein, dass ich einen I/O-Pin (Pin 11, also keinen der
für ISP benutzt wird) über einen relativ nierdrigen Widerstand gegen
Masse oder Vcc geschaltet hatte, kann ich mir dadurch etwas kaputt
gemacht haben, was diesen Fehler auslöst?

Vielen Dank schonmal für alle Antworten!

Gruß
  Stefan

von Andi (Gast)


Lesenswert?

Ist der Widerstand noch dran?
Wie niedrig ist/war der Widerstand?

Bei verwendung von Widerständen (Pullups, RC-Glied etc.) sollten diese
bei 5V Betriebsspannung mindestens 1K Ohm haben.
Das sind dann 5mA was über den Portpin läuft was OK wäre.
Bei 100 Ohm sinds dann schon 50mA was schon gefährlich ist und nicht OK
ist.

Gruß
Andi

von Stefan Söffing (Gast)


Lesenswert?

Es waren 2,2k - aber ich glaube nicht, dass ich mir damit sämtliche
I/O-Pins lahmgelegt habe, zumal das lesen und schreiben der Fuses ja
noch funktioniert...

von Andi (Gast)


Lesenswert?

Das glaube ich auch nicht!
Laut Flash-Protokoll scheint ja das schreiben zu klappen nur beim
Verify gibs Probleme.
Ist vielleicht noch irgend was anderes an PB3, PB4 und PB5
angeschlossen (Schaltungstechnisch)?

Gruß
Andi

von Tobi (Gast)


Lesenswert?

mal den flash auslesen und schaun ob da wirklich fehler drin sind
(dateien vergleichen)

und natürlich mal die sonstige beschalrung aller isp pins angeben

von ...HanneS... (Gast)


Lesenswert?

Strippen zu lang?

von Stefan Söffing (Gast)


Lesenswert?

An PB5:3 ist nur der Programmer angeschlossen (der aus dem Tutorial),
ansonsten sind PC5:0, Reset, Vcc, GND benutzt/verkabelt.

Das die Kabel zu lang sind glaub ich nicht, das Programmieren hat eine
Woche lang problemlos funktioniert. Dann habe ich wie gesagt versucht
an PD5 (T1) was anzuschließen und dabei aus Versehen PD6 an Vcc
geklemmt (über 2,2kOhm). Aber wie gesagt: Die I/O-Pins funktionieren
soweit das ich immerhin die Fuses lesen und schreiben kann, es gibt nur
die Probleme mit dem Flash. Dabei ist der µC erst drei Wochen alt :-/

Stefan

von Pascal (Gast)


Lesenswert?

auch wenn der anscheinend nur mit dem verify Probleme hat, dürfte da gar
nichts gehen(also auch nicht schreiben)
ich hatte das gleiche Problem letzthin mit der gleichen Meldung, der
schreibt anscheinend in den µC ohne zu schauen, obs geht oder nicht,
dafür ist dann das verify da
bei mir lags immer entweder dran, dass das Programmierkabel nicht
eingesteckt war, die Widerstände zwischen Kabel von Programmierkabel
und µC zu groß waren, oder irgendein Kontakt locker war

von Stefan Söffing (Gast)


Lesenswert?

hmm, irgendwas scheint komischerweise doch zu gehen: wenn ich den flash
mehrmals hintereinander runterlade kommt immer das gleiche raus (also
keine zufälligen zahlenfolgen).
wenn ich dann das programm leicht ändere und hochlade, bekomme ich auch
bei erneutem runterladen ein anderes Programm.

Ich würde ja gerne vergleichen, ob das runtergeladene Programm mit dem
originalen übereinstimmt, aber weiß in beiden Dateien nicht, was Daten
und was zusätzlichen Formatangaben sind :-/

von Dennis Brücke (Gast)


Lesenswert?

Hi Stefan,

ich hatte mal das gleiche Problem mit einem ATMega8,
ständig geschrieben, gebastelt, neu programmiert etc...etc..

Irgendwann ging es halt dann einfach nicht mehr. Fuses gingen, lesen
ging auch, nur Schreiben war halt nur noch jeder 5-10 Versuch
erfolgreich... denke mal das irgendwann einfach auch die grenzen mit
dem Beschreiben erreicht war. Bleibt wohl nur ein neuen µC zu
besorgen...

Gruß Dennis

von thkais (Gast)


Lesenswert?

So schnell erreicht man die Grenzen des Flash aber nicht.
@Stefan: Versuche doch mal, den Flash nur zu löschen und lies dann aus.
Wenn dann nur $FF herauskommt, funktioniert schonmal das Löschen. Ich
tippe eher auf ein Kommunikationsproblem.
Ich habe hier einen Mega-8, den ich seit einem Jahr auf einem
Steckboard quäle, er muß für alle Versuchsschaltungen herhalten. Der
hat mit Sicherheit mehr als 1000 Zyklen hinter sich. Innerhalb von 3
Wochen mehr zu schaffen, halte ich für fast unmöglich.
Ansonsten kann natürlich ein zweiter Mega-8 Klarheit schaffen:
Funktionierts auch bei dem Neuen nicht, ist an der Programmierung etwas
faul.

von Stefan Söffing (Gast)


Lesenswert?

Die Kommunikation scheint nicht das Problem zu sein, erase geht, danach
kommt nur noch FF raus. Programm drauf und es kommt auch wieder eins
zurück.

Aber verify gibt nen Fehler zurück und ausführen tut ers auch bei
!RESET high nicht :-/

Stefan

von Dirk (Gast)


Lesenswert?

Hi,

hast du noch andere SPI Bausteine an deinem µC? Ich hatte das gleiche
Problem und dachte das mein Programmierkabel defekt ist. (jedesmal mal
Verify ein Error)

Zum Glueck waren meine anderen SPI Teilnehmer auf einer extra Platine
und durch ein Pfostenstecker trennbar. Nachdem ich die anderen SPI
Teilnehmer getrennt hatte funktionierte alles einwandfrei.

Ich meine in einem Appnote war beschrieben das man 1k Ohm Widerstaende
in Reihe zu den anderen SPI Teilnehmern schalten muss.

Mfg

Dirk

von Stefan Söffing (Gast)


Lesenswert?

Nein auch nicht :-(
Langsam verliere ich die Hoffnung...

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.