mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega lässt sich nicht mehr korrekt programmieren..


Autor: Bernhard N. (bernieserver)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nutze einen ATMega 32 auf einem Testboard und nutze einen ISP 
Programmierer.
Netzteil ist stabilisiert und ist galvanisch getrennt.

Da ich kein JTAG Debugger habe ( noch nicht !) flashe ich täglich 
dutzende Male die neue Softwareversion von mir hoch um sie zu testen.

Ich nutze dazu den vom AVRStudio bereitgestellten AVRprog.

Von Jetzt auf Gleich kommt aber eine Fehlermeldung beim Programmieren, 
die jedesmal leicht unterschiedlich ist.

Hier ein Beispiel:

Address 0x0223 Expected 0x00, Received 0x44

Ist der ATMega nun kaputt oder was kann man jetzt machen? Dumm, denn nun 
verliere ich Zeit in meiner Diplomarbeit..

Kann man den noch retten?

Gruß

Bernhard

Autor: Bernadette (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn dein Atmega zu oft programmiert wurde, ist er defekt.

Die Meldung ist ein Hinweis auf einen Fehler beim Zurücklesen des 
Programmes.

Stecke den Ersatz-Atmega rein und prüfe nochmal.

Die Fehlermeldung kommt natürlich auch, wenn ein Fehler beim 
Programmieren oder lesen entstanden ist.



B.

Autor: Andreas Ferber (aferber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gib' mal noch ein paar Beispiele mehr, damit man auch sehen kann, was 
mit "jedesmal leicht unterschiedlich" gemeint ist.

Andreas

Autor: Bernhard N. (bernieserver)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier noch ein anderes Beispiel:

Address 0x0012, Expected: 0x00, Received 0x48

beim Programmieren des EEPROMS.

Beim Programmieren des Flashs kam aber auch schon mal ein Fehler
Nur jetzt konnte ich den nicht mehr reproduzieren.

Blöd.

Nur der EEPROM Fehler ist immer wieder da, nur mit immer einer anderen 
Adresse.. :(

Das Programm funktioniert aber noch. Nur ich werde das EEPROM zum 
Speichern von Variablen nutzen. Daher ists für Tests erstmal nicht soo 
schlimm...


Gruß

Bernhard

Autor: Gast 57 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Symptome deuten schon auf einen defekten Flash-Speicher hin.
Lt. Datenblatt halten die Programmspeicher 10000 Schreib/Löschzyklen 
aus-
Da kann man schon einige Zeit neu programmieren..........

Ich würde auch erst mal den Baustein austauschen.

Bei Farnell hast Du das neue Teil am nächsten Tag, sofern Du vor 19:30
bestellt hast.
Also kein so großer Zeitverlust!

Und gleich ein paar von den ATMegas mehr bestellen, als Student bei F.
kein Problem.

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon einmal einen anderen Mega32 ausprobiert? Hat der die gleichen 
Probleme?

Was für einen Programmer hast Du?
Wie lang ist das Flachbandkabel?
Dass es bis jetzt geklappt hat, beutet nicht wirklich etwas.
Vielleicht ist auch nur das Programmierkabel/-Stecker/Testboard kaputt. 
Sowas passiert.

Autor: Andreas Ferber (aferber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie oft schreibst du denn ins EEPROM? Wenn das in einer Schleife immer 
wieder gemacht wird (oder das beim Testen durch einen unbemerkten Bug 
mal so war), dann können die 100k garantierten Schreibzyklen innerhalb 
weniger Minuten verbraucht sein.

Generell solltest du zum Basteln immer mehrere Controller da liegen 
haben, die kosten ja nicht viel, und sind beim Entwickeln manchmal 
schneller hinüber (oder zumindest erstmal unbrauchbar), als einem lieb 
ist (falsch gesetzte Fuses sind immer wieder sehr beliebt ;-).

Andreas

Autor: Bernhard N. (bernieserver)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich denke falsch gesetzte Fuses oder Defekte sind es nicht.
Denn ansonsten müssten wohl der Fehler so sein, dass entweder dauernd 
0x00 oder 0xFF ausgelesen wird.

Der ISP Programmer ist ein einfacher, der bei einem Testboard von ib 
markl (ebay) dabei war. Ich denke aber nicht, dass der kaputt ist.

Alles mal neu gesteckt, Rechner neugestartet, anderen USB 2 Serial 
Adapter, anderes Kabel etc. habe ich schon getestet. Kein Unterschied.

Es wird wohl der interne EEPROM sein.

Ersatz habe ich einen, der klappt aber nicht direkt auf dem Board. Da 
muss ich wohl Fuses setzen -  und das habe ich noch nie gemacht. :(

Gruß

Bernhard

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.