Todos los dispositivos integrados incluyen una opción de "restablecimiento de fábrica" que permite al usuario restablecer su dispositivo si algo va mal.
Estoy desarrollando un Firmware en una placa STM32. El firmware incluye un cargador de arranque que permite actualizar la aplicación vía UART (Enviando un archivo binario que contiene la nueva imagen) y quiero añadir otra característica: Un reset de fábrica. Cuando el usuario elija esta opción, la placa cargará la imagen original.
¿Qué es un restablecimiento de fábrica? ¿Se trata de cargar todo el archivo binario en la memoria de nuevo o es simplemente llamar a una función que reinicie las variables modificadas por el usuario final?
¿Cuáles son las mejores prácticas para hacerlo?
¿Dónde se guarda el FW original? ¿Está en una flash interna o externa?