Combien de fois pouvez-vous re-flasher le firmware Marlin sur une carte RAMPS 1.4 avant qu'il ne dégrade la ROM?

9

Tout d'abord, je travaille avec un kit Folger Tech Prusa i3, si cela fait une différence. Je pense aussi que l'Arduino est un Mega 2560.

Je sais quelque part à l'arrière de ma tête que la ROM électriquement programmable comme ce qui doit être sur la carte Arduino stockant le firmware se dégrade un peu, chaque fois que vous y écrivez. En ce moment, j'essaie d'étalonner un autre problème d'impression, et je pense que je dois encore modifier le firmware, ce que j'ai déjà fait plusieurs fois. Je commence donc à m'inquiéter du nombre de fois où je peux le faire.

Eh bien, une fois que je me suis souvenu de l'acronyme "EEPROM", et après un peu de recherche sur Google, je suis tombé sur cela, Arduino - EEPROM , qui dit qu'il peut gérer des cycles de 100k, donc je pense que je suis sur la réponse, mais le problème est que je ne sais pas si un cycle est un fichier entier en cours de téléchargement? Ne s'agirait-il pas d'un seul morceau de données? Et si oui, combien de cycles consommerait le fichier Marlin moyen?

J'ai également trouvé ceci:

mais je serais très surpris si j'y ai téléchargé plus de 2000 fois

sur Mega2560 maçonné? non détecté, DFU échouant , indiquant que la réponse pourrait être aussi faible que 2000.

De plus, ceci:

Modes de défaillance

Il existe deux limites aux informations stockées; l'endurance et la conservation des données.

Lors des réécritures, l'oxyde de grille dans les transistors à grille flottante accumule progressivement les électrons piégés. Le champ électrique des électrons piégés s'ajoute aux électrons dans la grille flottante, abaissant la fenêtre entre les tensions de seuil pour les zéros et les uns. Après un nombre suffisant de cycles de réécriture, la différence devient trop petite pour être reconnaissable, la cellule est bloquée dans l'état programmé et une défaillance d'endurance se produit. Les fabricants spécifient généralement que le nombre maximal de réécritures est de 1 million ou plus. [5]

Pendant le stockage, les électrons injectés dans la grille flottante peuvent dériver à travers l'isolateur, en particulier à une température élevée, et provoquer une perte de charge, ramenant la cellule à l'état effacé. Les fabricants garantissent généralement une conservation des données de 10 ans ou plus. [6]

de Wikipedia: EEPROM - Failure Modes , indiquant que la réponse pourrait être dans les millions.

À ce stade, je me demande simplement si un expert pourrait voir cela et soulager mon angoisse ...

user273872
la source
L'AT Mega2560 dispose d'un stockage flash interne, mais il permet de consulter les périphériques flash externes pour plus d'informations. Il existe plusieurs types de périphériques flash externes. Certains ne peuvent clignoter qu'un très petit nombre de fois, et de ces parties le nombre 2000 peut provenir. D'autres pièces de qualité supérieure peuvent être reflashées un million de fois. Dans mon travail, nous voyons généralement des notes de 10 000 pour les pièces à faible coût et de 100 000 pour les pièces à coût plus élevé. Pour le flash intégré, il peut ne pas y avoir une telle gamme de prix et de durée de vie, car cela compliquerait le canal de test et de distribution du fabricant.
cmm

Réponses:

14

L'EEPROM n'est pas où le programme lui-même est stocké, ce qui est pertinent pour votre question est le flash. Le flash de l'ATmega2560 est conçu pour 10 000 cycles (c'est-à-dire que vous pouvez le reprogrammer au moins 10 000 fois).

Tom van der Zanden
la source
Un «cycle» de stockage flash n'est pas l'écriture mais l'effacement. Lorsque Flash est écrit, il doit d'abord être effacé. Le processus d'effacement sollicite l'appareil et, sur de nombreux cycles, entraîne plusieurs modes de défaillance. L'écriture de données dans la partie effacée est plus bénigne. Ainsi, peu importe la taille du programme. Le "Re-Flashing" commence par un cycle d'effacement, suivi par autant de cycles de programmation que nécessaire.
cmm
1

L'AVR a SRAM pour les variables (ce qui est généralement appelé RAM), il a EEPROM pour les variables non volatiles et il a flash pour le code exécutable. (Architecture de Harvard!)

Pour re-flasher le firmware, ni les taux d'écriture SRAM ni EEPROM ne sont importants, mais les taux Flash le sont. Les taux d'écriture flash sont de l'ordre de 100 000 à un million, ce qui ne devrait donc pas être un problème.

L'article que vous avez lié indique également qu'il n'a pas fait plus de 2000 réécritures et devrait donc être correct. Je ne peux qu'être d'accord. Quelques milliers de re-flashs ne posent aucun problème. Une fois que vous vous approchez de 100 000, vous pouvez commencer à vous inquiéter.

Les bits flash ne peuvent être écrits que de 1 à 0. L'effacement du flash écrit tous les bits en 1. L'effacement ne peut être effectué que sur une page flash (la taille dépend du périphérique mais généralement un multiple de 512).

Lars Pötter
la source