Wie oft können Sie die Marlin-Firmware erneut auf eine RAMPS 1.4-Karte flashen, bevor das ROM beeinträchtigt wird?

9

Zunächst arbeite ich mit einem Folger Tech Prusa i3-Kit, wenn das einen Unterschied macht. Ich glaube auch, dass der Arduino ein Mega 2560 ist.

Ich weiß irgendwo in meinem Hinterkopf, dass sich ein elektrisch programmierbares ROM, wie es auf der Arduino-Platine sein muss, auf der die Firmware gespeichert ist, jedes Mal ein wenig verschlechtert, wenn Sie darauf schreiben. Im Moment versuche ich, ein weiteres Druckproblem zu beseitigen, und ich denke, ich muss die Firmware noch einmal ändern, was ich bereits mehrmals getan habe. Also mache ich mir langsam Sorgen darüber, wie oft ich das tun kann.

Nun, als ich mich an das Akronym "EEPROM" erinnerte und nach ein wenig googeln auf dieses Arduino - EEPROM stieß , das besagt, dass es 100.000 Zyklen verarbeiten kann, denke ich, dass ich auf die Antwort bin, aber das Problem bin ich Ich bin nicht sicher, ob in einem Zyklus eine ganze Datei hochgeladen wird? Wäre es nicht ein einziger Datenblip? Und wenn ja, wie viele Zyklen würde die durchschnittliche Marlin-Datei verbrauchen?

Ich habe auch folgendes gefunden:

aber ich wäre sehr überrascht, wenn ich es mehr als 2000 mal hochgeladen hätte

auf Mega2560 gemauert? nicht erkannt, DFU schlägt fehl , was darauf hinweist, dass die Antwort möglicherweise nur 2000 beträgt.

Auch das:

Fehlermodi

Es gibt zwei Einschränkungen für gespeicherte Informationen. Ausdauer und Datenaufbewahrung.

Während des Umschreibens akkumuliert das Gateoxid in den Floating-Gate-Transistoren allmählich eingefangene Elektronen. Das elektrische Feld der eingefangenen Elektronen addiert sich zu den Elektronen im Floating Gate und senkt das Fenster zwischen den Schwellenspannungen für Nullen gegen Einsen. Nach einer ausreichenden Anzahl von Umschreibzyklen wird der Unterschied zu klein, um erkennbar zu sein, die Zelle bleibt im programmierten Zustand hängen und es tritt ein Dauerfehler auf. Die Hersteller geben normalerweise an, dass die maximale Anzahl von Umschreibungen 1 Million oder mehr beträgt. [5]

Während der Speicherung können die in das Floating Gate injizierten Elektronen insbesondere bei erhöhter Temperatur durch den Isolator driften und einen Ladungsverlust verursachen, wodurch die Zelle in den gelöschten Zustand zurückversetzt wird. Die Hersteller garantieren normalerweise eine Datenaufbewahrung von 10 Jahren oder mehr. [6]

aus Wikipedia: EEPROM - Fehlermodi , die darauf hinweisen, dass die Antwort in die Millionen gehen könnte.

An dieser Stelle frage ich mich nur, ob ein Experte dies sehen und meine Angst lindern könnte ...

user273872
quelle
Das AT Mega2560 verfügt über einen internen Flash-Speicher, es hilft jedoch, externe Flash-Geräte nach Informationen zu durchsuchen. Es gibt verschiedene Arten von externen Flash-Geräten. Einige können nur sehr selten geflasht werden, und aus diesen Teilen kann die Nummer 2000 stammen. Andere, höherwertige Teile können millionenfach neu geflasht werden. In meiner Arbeit sehen wir normalerweise Bewertungen von 10.000 für kostengünstige Teile und 100.000 für teurere Teile. Bei integriertem Blitz gibt es möglicherweise keinen solchen Preis- und Lebensdauerbereich, da dies den Test- und Vertriebskanal des Herstellers erschweren würde.
cmm

Antworten:

14

Der EEPROM ist nicht , wo das Programm selbst gespeichert ist , was für Ihre Frage relevant ist , ist der Blitz. Der Blitz im ATmega2560 ist für 10.000 Zyklen ausgelegt (dh Sie können ihn mindestens 10.000 Mal neu programmieren ).

Tom van der Zanden
quelle
Ein "Zyklus" für die Flash-Speicherung ist nicht das Schreiben, sondern das Löschen. Wenn Flash geschrieben wird, muss es zuerst gelöscht werden. Der Löschvorgang belastet das Gerät und führt über viele Zyklen zu mehreren Fehlermodi. Das Schreiben von Daten in den gelöschten Teil ist harmloser. Somit spielt es keine Rolle, wie groß das Programm ist. "Re-Flashing" beginnt mit einem Löschzyklus, gefolgt von so vielen Programmierzyklen wie nötig.
cmm
1

Der AVR verfügt über einen SRAM für Variablen (was normalerweise als RAM bezeichnet wird), einen EEPROM für nichtflüchtige Variablen und einen Flash für den ausführbaren Code. (Harvard-Architektur!)

Für das erneute Flashen der Firmware sind weder SRAM- noch EEPROM-Schreibraten wichtig, aber die Flash-Raten. Die Flash-Schreibraten liegen im Bereich von 100.000 bis einer Million, so dass dies kein Problem sein sollte.

Der Artikel, den Sie verlinkt haben, besagt auch, dass er nicht mehr als 2000 umgeschrieben hat und daher in Ordnung sein sollte. Ich kann nur zustimmen. Ein paar tausend erneute Blitze sind kein Problem. Sobald Sie sich 100.000 nähern, können Sie sich Sorgen machen.

Flash-Bits können nur von 1 bis 0 geschrieben werden. Durch Löschen des Flashs werden alle Bits auf 1 geschrieben. Das Löschen kann nur auf einer Flash-Seite erfolgen (Größe ist geräteabhängig, normalerweise jedoch ein Vielfaches von 512).

Lars Pötter
quelle