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
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
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...
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
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
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
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
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 :-/
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
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.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.