¿Hay algún inconveniente con la programación de un atmega2560 cada vez que se inicia el dispositivo?

3

Tendré un atmega2560 que actuará como codificador / decodificador DMX conectado a una Onion omega2 (una pequeña computadora con Linux). ¿Hay algún inconveniente, excepto un tiempo de inicio más largo para programar el atmega cada vez que se inicia el dispositivo? Esto haría que la actualización del firmware en la atmega sea realmente fácil ya que simplemente podría reemplazar la imagen y reiniciar

    
pregunta Pownyan

2 respuestas

3

Aparte del tiempo, el principal inconveniente es que la memoria del programa eventualmente se desgastará. La memoria flash tiene un número limitado de escrituras y borrados. Consulte la hoja de datos para ver para qué se especifica su dispositivo.

Algunos microcontroladores que he usado solo se han especificado para 1000 escrituras de memoria de programa. Eso es suficiente para la producción inicial y las actualizaciones de campo ocasionales del firmware.

Sin embargo, ese límite no es difícil de alcanzar si una de estas 1000 escrituras se agota cada vez que se enciende el dispositivo. Si sucede una vez al día, entonces la memoria del programa solo es válida por 2 años y 9 meses. Resultados dos veces al día en 1 año 4½ meses. Una vez por hora produce 42 días de vida operativa.

    
respondido por el Olin Lathrop
1

No es una buena idea hacer una nueva imagen cada vez que se inicie el tablero. La memoria del programa eventualmente se desgastará.

La memoria flash tiene un número limitado de grabaciones y borrados. Puede encontrar los números en la hoja de datos de su controlador.

Le sugeriré que escriba un bootloader para su tablero. Cada vez que se inicie su placa, el cargador de arranque debe intentar comunicarse con su placa maestra (su placa de Linux). La placa maestra debe presentar hash or digest de imagen o firmware que tenga. El cargador de arranque debe tener un resumen precalculado del firmware que tiene en su flash. Al comparar el resumen, puede decidir si iniciar el procedimiento de flasheo. Después de eso, puede saltar a la aplicación.

    
respondido por el abhiarora

Lea otras preguntas en las etiquetas