Todos los dispositivos integrados incluyen una opción de "Restablecimiento de fábrica" que permite al usuario restablecer su dispositivo si algo está mal.
Estoy desarrollando un firmware en una placa STM32. El firmware incluye un cargador de arranque que permite actualizar la aplicación a través de UART (enviando un archivo binario que contiene la nueva imagen) y quiero agregar otra función: un restablecimiento de fábrica. Cuando el usuario elige esta opción, el tablero cargará la imagen original.
¿Qué es un restablecimiento de fábrica? ¿Se trata de volver a cargar todo el archivo binario en la memoria o simplemente está llamando a una función que reinicializa las variables modificadas por el usuario final?
¿Cuáles son las mejores prácticas para hacerlo?
¿Dónde almacenar el FW original? ¿Está en un flash interno o externo?