En primer lugar, estoy trabajando con un kit Folger Tech Prusa i3, si eso marca la diferencia. También creo que el Arduino es un Mega 2560.
Sé en algún lugar en la parte posterior de mi cabeza que la ROM programable eléctricamente como lo que debe estar en la placa Arduino que almacena el firmware se degrada un poco, cada vez que le escribes. En este momento estoy tratando de calibrar otro problema de impresión, y creo que necesito modificar el firmware una vez más, lo que ya he hecho varias veces. Así que estoy empezando a preocuparme por cuántas veces puedo hacer eso.
Bueno, una vez que recordé el acrónimo "EEPROM", y después de buscar un poco en Google, me encontré con esto, Arduino - EEPROM , que dice que puede manejar 100k ciclos, así que creo que estoy en la respuesta, pero el problema es que yo ¿No estoy seguro de si un ciclo es un archivo completo que se está cargando? ¿No sería una simple muestra de datos? Y si es así, ¿cuántos ciclos consumiría el archivo Marlin promedio?
También encontré esto:
pero me sorprendería si lo hubiera subido más de 2000 veces
en Mega2560 ladrillo? no detectado, DFU falla , lo que indica que la respuesta podría ser tan baja como 2000.
También esto:
Modos de fallo
Hay dos limitaciones de la información almacenada; resistencia y retención de datos.
Durante las reescrituras, el óxido de puerta en los transistores de puerta flotante acumula gradualmente electrones atrapados. El campo eléctrico de los electrones atrapados se suma a los electrones en la puerta flotante, bajando la ventana entre los voltajes de umbral para ceros frente a unos. Después de un número suficiente de ciclos de reescritura, la diferencia se vuelve demasiado pequeña para ser reconocible, la celda se atasca en el estado programado y se produce una falla de resistencia. Los fabricantes generalmente especifican que el número máximo de reescrituras es de 1 millón o más. [5]
Durante el almacenamiento, los electrones inyectados en la puerta flotante pueden derivar a través del aislante, especialmente a temperaturas elevadas, y causar pérdida de carga, volviendo la celda al estado borrado. Los fabricantes generalmente garantizan la retención de datos de 10 años o más. [6]
de Wikipedia: EEPROM - Modos de falla , lo que indica que la respuesta podría estar en millones.
En este punto, me pregunto si un experto podría ver esto y aliviar mi angustia ...
Respuestas:
La EEPROM no es donde se almacena el programa en sí, lo que es relevante para su pregunta es el flash. El flash en el ATmega2560 tiene una capacidad de 10,000 ciclos (es decir, puede reprogramarlo al menos 10,000 veces).
fuente
El AVR tiene SRAM para variables (lo que generalmente se llama RAM), tiene EEPROM para variables no volátiles y tiene flash para el código ejecutable. (Arquitectura de Harvard!)
Para volver a flashear el firmware, ni las velocidades de escritura SRAM ni EEPROM son importantes, pero las velocidades de flash sí lo son. Las tasas de escritura flash están en la región de 100 mil a un millón, por lo que no debería ser un problema.
El artículo que vinculó también afirma que no hizo más de 2000 reescrituras y, por lo tanto, debería estar bien. Solo puedo estar de acuerdo. Unos pocos miles de flashes no son un problema. Una vez que te acercas a 100 mil, puedes comenzar a preocuparte.
Los bits de flash solo se pueden escribir de 1 a 0. Al borrar el flash, se escriben todos los bits a 1. El borrado solo se puede realizar en una página de flash (el tamaño depende del dispositivo, pero generalmente es un múltiplo de 512).
fuente