mikrocontroller.net

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


Autor: Stefan Söffing (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan Söffing (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Strippen zu lang?

Autor: Stefan Söffing (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Pascal (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan Söffing (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-/

Autor: Dennis Brücke (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stefan Söffing (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan Söffing (Gast)
Datum:

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

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.