Hallo ich habe hier 2 LP mit nem ATTINY84 drauf daliegen, wo ich ein Update machen wollte. Die eine LP lies sich vollkommen problemlos mit AVRDUDE (auf W2k) via (echtem) COM-Port flashen.. :) Soweit gut.. die 2. Platine jedoch macht nicht mit. Konkret habe ich die gleiche Routine zum flashen wie bei der 1.Platine verwendet.. das heisst, die Routine und der Syntax sind ok.(ging ja bei 1.Platine) Bei der defekten (die vorher ging !!) kann ich zwar flashen..und es sieht alles in den Ausschriften von AVRDUDE gut aus, aber das VERIFY schlägt fehl und meldet an Adresse x0000 xFF statt dem Wert der dastehen sollte, und ich bekomme ne komische Meldung mit "current erase.." oder und dann irgendwas von 400 Was könnte das heissen ? Die FuseBits stimmen, der ChipCode passt, natürlich habe ich auch alle Verbindungen geprüft. Alles ok. Da der ATTINY ja auch auf die Kommandos von AVRDUDE reagiert, denk ich mal das der ok sein müsste. Gibt es irgendwas wo ich mich vielleicht ausgesperrt hab und was ich noch testen könnte? Danke für Eure Hilfe sagt Ralph
Ralph H. schrieb: > Konkret habe ich die gleiche Routine zum flashen wie bei der 1.Platine > verwendet.. das heisst, die Routine und der Syntax sind ok.(ging ja bei > 1.Platine) Das ist natürlich unheimlich konkret ;). Ralph H. schrieb: > und ich bekomme ne komische Meldung mit "current erase.." oder und dann > irgendwas von 400 Was könnte das heissen ? Die genaue Fehlermeldung wäre sicherlich hilfreich. Die 400 könnte vielleicht für die Anzahl der Schreib- bzw. Löschvorgänge stehen. Der Flash-Speicher "nutzt" sich beim Schreiben bzw. Löschen leider ab. Im Normalfall wird garantiert, dass 1000 (bei älteren Chips von AVR) bzw. 10000 (bei aktuelleren) Schreibvorgänge möglich sind. Vielleicht hat es deinen schon früher erwischt, weshalb auch immer. Ralph H. schrieb: > Gibt es irgendwas wo ich mich vielleicht ausgesperrt hab und was ich > noch testen könnte? Du kannst natürlich einmal die Fuses auslesen und vergleichen.
Also die FuseBits hab ich ja auslesen können und die stimmen auch :-) Der AtTiny verhält sich beim Schreiben auch so wie er soll, nur das eben nix geschrieben wird. D.h. das auslesen bringt den VERIFY Fehler. Die Abnutzung des Flash sollte es nicht sein, denn laut Datenblatt müsste der AtTiny 10000 Zyklen verkraften. Ist denn schonmal sowas jemand anderen passiert ?
Was für einen Programmer benutzt du denn? Ansonsten: bitte poste die exakten Meldungen (mit copy&paste bitte bzw. als Textdateiim Anhang, nicht als Screenshot).
Hi Controller vor dem Programmieren gelöscht? MfG Spess
Danke Jörg, ich benutze den einfachen SerCon mit echter COM Schnittstelle und Win2k Syntax: avrdude.exe -p attiny84 -c ponyser -P COM1 -U lfuse:w:0xC2:m -U hfuse:w:0xD4:m -U flash:w:firmware.hex Es kommt ganz banal die Meldung: "verification error, first mismatch at byte 0x0000 0xef! = 0xff" "verification error, content mismatch" "safemode: Fuses OK" Gruß Ralph
Ralph H. schrieb: > ich benutze den einfachen SerCon Im Zweifelsfalle was besseres benutzen. Du kannst versuchen, ob du mit der -i-Option das Ding zu zuverlässigerer Arbeit überreden kannst, mal mit -i10 beginnen und dann die Zahl kleiner machen.
Hi Ralph Es ist möglich, dass der Attiny Probleme hat mit der Geschwindigkeit. Daher nutze mal das -B Argument von avrdude mit 10: avrdude.exe -p attiny84 -B 10 -c ponyser -P COM1 -U lfuse:w:0xC2:m -U hfuse:w:0xD4:m -U flash:w:firmware.hex Gruss
One schrieb: > Daher nutze mal das -B Argument von avrdude mit 10: Aus hysterischen Gründen funktioniert die -B-Option nur mit "intelligenten" Programmern, also denen, denen man explizit per Protokoll sagen kann, wie schnell sie sein dürfen. Programmer wie ponyser, bei denen AVRDUDE das Bitbanging selbst macht, muss man mit der -i-Option zu zusätzlichen Delays überreden.
spess53 schrieb: > Was ist mit > > Beitrag "Re: ATTINY84 mit AVRDUDE nicht beschreibbar.." Macht AVRDUDE von sich aus (wenn man es nicht explizit daran hindert).
Danke Euch .. Ich habe grade eben mal avrdude.exe -p attiny84 -B 10 -c ponyser -P COM1 -U lfuse:w:0xC2:m -U hfuse:w:0xD4:m -U flash:w:firmware.hex avrdude.exe -p attiny84 -i 10 -c ponyser -P COM1 -U lfuse:w:0xC2:m -U hfuse:w:0xD4:m -U flash:w:firmware.hex probiert und jedesmal das gleiche Ergbenis bekommen.:-( (Fehler verify) Komisch ist aber folgendes.. Ich hab mal versucht den Flash zu lesen ! und zwar mit: avrdude.exe -p attiny84 -c ponyser -P COM1 -U lfuse:w:0xC2:m -U hfuse:w:0xD4:m -U flash:r:firm.hex Das geht auch ni !!! Fehlermeldung komischerweise nach dem offensichtlichen lesen: "Error oppening firm.hex" "invalid output file format: -1" "write to file 'firm.hex' failed" Was is an dem Syntax falsch ? AVRDUDE V5.11.1 verwnede ich unter Win2K Edit: Nicht vergessen, ein 2.AtTiny machts richtig alles !!
So, ich hab jetzt nochmal versucht, den AtTiny auszulesen und bekomme KEINE Fehlermeldung mehr, wenn die Datei wohin der Inhalt geschrieben werden soll schon existiert !! Allerdings steht da statt dem Inhalt nur das hier drinne... :0000001FF Mehr is da komischerweise nicht drinne.. ich glaub der AtTiny hat wohl eins abgekriegt oder ? Spannung ist stabil und bricht nicht ein ! (Akku NiMH 10,8V)
Ralph H. schrieb: > Fehlermeldung komischerweise nach dem > offensichtlichen lesen: > "Error oppening firm.hex" > "invalid output file format: -1" Wenn du eine automatische Formatauswahl möchtest (das ist der Default, wenn der Formatbuchstabe weggelassen wird), geht das natürlich logischerweise nur dann, wenn die Datei bereits existiert und ein sinnvolles Format hat. Was du schreiben müsstest ist:
1 | -U flash:r:firm.hex:i |
Ralph H. schrieb: > Allerdings steht da statt dem Inhalt nur das hier drinne... > :0000001FF D. h., der ganze Flash-Inhalt ist 0xffff. Zusammenhängede 0xffff- Blöcke entsprechen dem nicht programmierten Speicher und werden daher in der Flash-Ausgabedatei weggelassen. > Mehr is da komischerweise nicht drinne.. ich glaub der AtTiny hat wohl > eins abgekriegt oder ? Gemessen daran, dass ein zweiter unter sonst gleichen Umständen funktioniert, würde ich das nun auch vermuten. Kannst du denn noch irgendetwas da drin programmieren, beispielsweise die Fuses ändern?
Danke Jörg :) Ich glaube ich kann die Fuses auch nicht mehr ändern. Hab mal testweise avrdude.exe -p attiny84 -c ponyser -P COM1 -U hfuse:w:0xD2:m gemacht. Aber da kam wieder ne Fehlermeldung: "verification error first mismatch at byte 0x000 0xd2! = 0xd4" und danach die Ausschrift "safemode hfuse changed! was d2, and is now d4 Would you like this fuse to be changed back ? (y/n)" Ich hab dann y eingegeben und nix passiert.. ausser das ich AVRDUDE mit Ctrl+C abbrechen kann. Es sieht also so aus, als würde der AtTiny nicht mehr schreiben können. Danke für Eure Hilfe, sagt Ralph der erst heute abend wieder reingucken kann.
Ralph H. schrieb: > Es sieht also so aus, als würde der AtTiny nicht mehr schreiben können. Dafür gäbe es zumindest im Prinzip eine Erklärung: das Schreiben der Flash-Zellen erfordert intern eine "Hochspannung", irgendwas um die 12 bis 15 V, wie man es als Vpp früher bei EPROMs extern angelegt hat. Diese Spannung wird chipintern durch eine Ladungspumpe erzeugt. Wenn die kaputt ist, funktioniert der Controller halt bis auf das Schreiben jeglicher Flash-Zellen.
Jörg Wunsch schrieb: > Dafür gäbe es zumindest im Prinzip eine Erklärung: das Schreiben der > Flash-Zellen erfordert intern eine "Hochspannung", irgendwas um die > 12 bis 15 V, wie man es als Vpp früher bei EPROMs extern angelegt > hat. Diese Spannung wird chipintern durch eine Ladungspumpe erzeugt. > Wenn die kaputt ist, funktioniert der Controller halt bis auf das > Schreiben jeglicher Flash-Zellen. Klingt plausibel. Könnte aber auch sein, dass die Spannungsversorgung für den Mikrocontroller einen Knacks weg hat und ab einem gewissen Strom einbricht. Zum Schreiben wird ja ein bisschen mehr Strom benötigt als zum Lesen. Wie wäre es, den ATtiny84 mal gegen einen neuen zu tauschen, um rauszukriegen, ob es am Mikrocontroller oder an der Platine liegt? Du suchst dir sonst einen Wolf, und wir stochern im Nebel...
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.