Todos os dispositivos incorporados incluem uma opção "Redefinição de fábrica" que permite ao usuário redefinir seu dispositivo se algo estiver errado.
Estou desenvolvendo um firmware em uma placa STM32. O firmware inclui um carregador de inicialização que permite atualizar o aplicativo via UART (enviando um arquivo binário que contém a nova imagem) e desejo adicionar outro recurso: Uma redefinição de fábrica. Quando o usuário escolhe esta opção, o quadro carrega a imagem original.
O que é uma redefinição de fábrica? Trata-se de carregar o arquivo binário inteiro na memória novamente ou está apenas chamando uma função que reinicializa variáveis modificadas pelo usuário final?
Quais são as melhores práticas para fazer isso?
Onde armazenar o FW original? está em um flash interno ou externo?