Todos los dispositivos incorporados 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 (al enviar un archivo binario que contiene la nueva imagen) y quiero agregar otra característica: un restablecimiento de fábrica. Cuando el usuario elige esta opción, la placa debe 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 se llama 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?