Woran kann man erkennen wie DRUCHGESCHREIBEN ein Controller schon ist?

OP #6611171
Lesenswert?

Hallo
Die atmega Controller setzte ich sehr Gerne ein.
Habe einige Broads auf welchen ich erstmal teste bis alles so weit läuft 
wie gewünscht.
dabei kann der Programmspeicher des Test Broad schon ein paar hundertmal 
neu beschreiben werden.
Und dabei kam mir die Frage kann man irgendwie erkennen, dass der 
Speicher langsam durchgeschrieben ist?

Wird das schreiben dann vielleicht langsamer ?

Vielen Dank.
#6611201
Lesenswert?

Atmel gibt z.B. 10K+ Zyklen an. Da sind aber mindestens um Faktor 10 
Sicherheit bei Zimmertemperatur eingebaut. Schätzungsweise wirst Du 
mindestens 100K+ Dein Programm drauf flashen können. Die Begrenzungen 
sind bei hohen Temperaturen akuter. Bei Zimmertemperatur ist der 
Verschleiß weniger ausgeprägt.

Ich testete mal das EEPROM eines PICs der mit 1M spezifiziert ist und 
konnte ihn 14M beschreiben bis Fehler auftraten. Interessanterweise 
waren ein paar nächstgelegenen Zellen auch davon betroffen. Allerdings 
muß nan realistischerweise davon ausgehen, daß das EEPROM degradiert ist 
und man sich nicht darauf verlassen sollte.

FLASH kann man so sehen, daß beim Schreiben, ähnlich wie bei 
Bremsbeläge, jedesmal "Substanz" verloren geht, bis zum Zeitpunkt wo es 
nicht mehr zuverlässig funktioniert.

Die Moral von der Gschicht, beschreibe FLASH nicht unnötig oder noch 
schlimmer, regelmässig beim Programm Durchlauf.

Viele der alten PICs waren beständiger als vergleichbare AVRs. Die neuen 
uC scheinen auch allgemein kleiner Zyklennummern zu verkraften.

Ich glaube nicht, daß du den uC so schnell "ausnudeln" kannst. Ist mir 
noch nicht passiert. Allerdings verwende ich häufig geflashte 
Entwicklungsbords nicht für Geräte. Da ist es besser, Fabrikneue 
Controller einzusetzen.

Muß man eben praktisch sehen.
Gast #6611208
Lesenswert?

Ich habe mal bei Lego gefragt, ob das so eine kluge Idee ist, dass der 
Flash Speicher des NXT nicht austauschbar ist. Sei meinten: Kein Problem 
darauf geben sie lebenslange Garantie. Wenn ich es schaffe, ihn zu 
verschleißen, bekomme einen neuen, mit Schleifchen drum und persönlicher 
Widmung.

Die sind sich wohl ziemlich sicher, dass das nur selten vorkommt. Aber 
die Antwort fand ich trotzdem cool.
Gast #6611252
Lesenswert?

DAVID B. schrieb:
> Und dabei kam mir die Frage kann man irgendwie erkennen, dass der
> Speicher langsam durchgeschrieben ist?
>
> Wird das schreiben dann vielleicht langsamer ?
Nein!
und
Nein!

Gerhard O. schrieb:
> Allerdings verwende ich häufig geflashte
> Entwicklungsbords nicht für Geräte. Da ist es besser, Fabrikneue
> Controller einzusetzen.
Ja!

Gerhard O. schrieb:
> Ist mir noch nicht passiert.
Einer, mit verify Fehlern.
Ursache unbekannt, Zyklenzahl keinesfalls überschritten.
Gast #6611259
Lesenswert?

Nur am Rande: nachdem hier die Unsitte, nur klein zu schreiben, 
dankenswerterweise auf ein Minimum zurückgegangen ist, sollte man nicht 
ins Gegenteil verfallen, DAVID.
  Und ja, bis ein Controller DRUCHGESCHREIBEN ist, das dauert.
Gast #6611285
Lesenswert?

> Chip verschlissen
Das meinte ich auch nicht, sondern um einen konkreten Wert für die 
Anzahl zu bekommen. Bei einigen alten Controllern hier könnte ich jetzt 
nicht sagen, waren es einige hundert Mal oder doch gar über tausend.
  Und ich arbeite nur mit zwei Programmiergeräten, wobei ich das ältere 
schon fast nicht mehr nutze.
Persönliche Seite #6611291
Lesenswert?

100Ω W. schrieb:
> Und mit mehreren Programmern dürfte das auch spaßig werden die Werte zu
> synchronisieren.

Wenn das Programm den Flash nicht bis zu den letzten beiden Bytes (gehe 
mal von einem 16-Bit Zähler aus) ausfüllt, könnte der Programmer die 
vorher auslesen, inkrementieren und mit dem neuen Programm zusammen 
zurückschreiben.
Glaube mich erinnern zu können, dass der AVRDUDE so etwas mal drin 
gehabt haben sollte - hab es aber selbst nie genutzt.
#6611322
Lesenswert?

Ingo W. schrieb:
> Glaube mich erinnern zu können, dass der AVRDUDE so etwas mal drin
> gehabt haben sollte - hab es aber selbst nie genutzt.

Kann man bei AVRDUDE, meine ich, immer noch nutzen. Das die beiden 
letzten Bytes im Flash wurden dafür benutzt...glaube ich. Ich hab es 
auch nie benutzt. Für fertige Geräte wird immer ein neuer Chip benutzt 
und wenn es bei einem Test-/Entwicklungsboard mal ein Problem 
diesbezüglich gibt kann man da immer noch den Chip austauschen.
#6611419
Lesenswert?

Wer einen 1000 mal geflashten Chip hat, kann den ja mal heiß machen oder 
tiefkühlen und an den Grenzen der Versorgungsspannung testen. Bei 
solchen Bedingungen müssten abgenutzte Bits eher Fehler machen. Rund um 
die Flash-Zelle geht es doch ziemlich analog zu.

Mit größeren Chips kann man seine Programme auch im RAM testen. Mit den 
Cortex-M4 funktioniert das wunderbar. Mit AVR geht es wohl aus Prinzip 
nicht, aber was ist mit den Cortex-M0? Ein Gerücht sagt, dass es nicht 
gehen kann, aber trotzdem tut...
Gast #6611569
Lesenswert?

Was willst du da groß rechnen, oder messen??? Viel zu aufwändig,
und damit auch für das Privat-/Hobby-Feld viel zu teuer.

Ein großer Feind erfolgreichen Arbeitens ist GEIZ AN DER FALSCHEN
STELLE! (Ein aktuelles Beispiel wäre die EU-Impfstoffbeschaffung...)

Für die Entwicklung kannst du ein gekennzeichnetes Exemplar
für ein Projekt nach dem anderen benutzen, bis das Verify des
Flash-Speichers nach der Programmierung sagt: Dieses Exemplar ist
hinüber.

Für genutzte Aufbauten nimmst du ein frisches Exemplar und spielst
auch mal eine neue Programmversion ein - und optimierst die vielleicht
noch mit 1...100 (oder auch 1000...) Schreibvorgängen.

Du brauchst also 1...3 Exemplare mehr vom jeweiligen atmega-µC,
als du davon verbauen willst.
Macht dich um 2...30 EU ärmer, aber erspart JEDE MENGE Ärger.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren