PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Atmega8 Fehler beim flashen



uC-Anfänger
03.03.2010, 09:27
Hallo,

wenn ich den Atmega8 mit avrdude flashe kommt ganz zum Schluss die Fehlermeldung:

avrdude: verification error, first mismatch at byte 0x008b
0xef != 0xe0
avrdude: verification error; content mismatch

Ist der µC damit kaputt?

Die "Read/Write"-Steps sind i.O.

021aet04
03.03.2010, 09:46
Funktioniert das Programm? Wie oft kommt der Fehler (immer oder gelegentlich)?

Ich habe den USB AVR Lab mit STK500V2 Firmware und da kommt eigentlich relativ oft ein Fehler, wenn er das Programm überprüft. Ein 2tes mal Aufspielen und das Programm funktioniert. Gelegentlich muss ich den µC löschen und dann neu programmieren. Ich weiß aber nicht woran es liegt dass der Fehler kommt (AVR Lab, AVR Studio, PC,...).

MfG Hannes

uC-Anfänger
03.03.2010, 12:05
Das Programm funktioniert wohl teilweise(?). Es handelt sich um den USBasp-Adapter nach Fischl/U.Radig.
Die LED wird vom Atmega8 getrieben und sie leuchtet. Nur der Adapter selbst funktioniert nicht, da erhalte ich die Fehlermeldung

avrdude: error: usbasp_transmit: error sending control message: Timer
expired

Geflasht habe ich au schon mehrfach.
Wie lösche ich denn den µC komplett.

021aet04
03.03.2010, 12:32
Da ich mit dem AVR Studio arbeite (inkl. Flashen) weiß ich nicht wie man das mit avrdude macht. Beim AVR Studio ist ein Button Erase.

Wenn das Programm richtig übertragen wird und es dich stört, dass immer ein Fehler bei der Überprüfung gibt könntest du das überprüfen abstellen. Wie das geht weiß ich jedoch nicht.

MfG Hannes

uC-Anfänger
03.03.2010, 14:48
Werde mal versuchsweise AVR-Studio probieren.

uC-Anfänger
03.03.2010, 17:09
Geht leider nicht.
AVRStudio kann kein STK200 mehr.

christian_u
06.03.2010, 09:19
@021aet04

1. Man sollte den Controller vorm flashen IMMER löschen. Sonst kommt es mit jedem ISP programmer zu komischen effekten weil u.U. noch alter Code in bereichen steht die nicht überschrieben wurden.

2. Das problem mit dem verifizieren hört sich sehr nach zu hoher ISP Frequenz an.

021aet04
06.03.2010, 14:20
1. Man sollte den Controller vorm flashen IMMER löschen. Sonst kommt es mit jedem ISP programmer zu komischen effekten weil u.U. noch alter Code in bereichen steht die nicht überschrieben wurden.

Ich weiß, habe im AVR Studio auch die Einstellung gewählt, damit AVR Studio vor jedem programmieren löscht. Gelegentlich muss ich jedoch von Hand löschen (Button Erase Device). Bei der ISP Frequenz gibt es einen Button Read. Habe es immer so gemacht, dann sollte die ISP Frequenz passen oder?

MfG Hannes

christian_u
06.03.2010, 17:29
read liest die lediglich aus und zeigt sie an.
du musst schon die richtige setzen.
die isp freq muss unter 1/4 der taktfrequenz des targets liegen.
Funktionieren tuts bei allen Controllern mit um die 125 khz wenn man den Controller mit Quarz betreibt kann man auch höher gehn.

021aet04
06.03.2010, 18:20
Bei mir ist 115,2kHz gewählt. Habe als Target einen Atmega8 mit 16Mhz und einen Atmega32 mit internen 8Mhz.

MfG Hannes

oberallgeier
06.03.2010, 18:31
Mein tiny85 läuft mit 1 MHz (interner 8 MHz RC-Osz. und CKDIV8), der lässt sich problemlos mit 115.2 kHz flashen. Meine megas - z.B. m328p mit 20 MHz Quarz - wird full speed meines Lab, also 1.845 MHz, geflasht. Das muss mann aber immer selber einstellen = auswählen - woher sollte der Programmer denn auch wissen, auf welchen fuses der Controller grad steht.

021aet04
06.03.2010, 18:53
Da mein Laptop defekt ist habe ich jetzt AVR Studio und das AVR Lab auf einem anderen PC installiert. Vielleicht lag es am Laptop.

MfG Hannes

uC-Anfänger
07.03.2010, 10:49
Hallo,

habe mein Problem gelöst!

Ich musste tatsächlich die Taktfrequenz des Atmega8 beim Löschen auf 187,5 kHz senken. Dann war der ursprüngliche Fehler "verification error ..." weg und ab funktionierte der Atmega8 einwandfrei