Aplicacion boot up

#1
Buenas,

primero me gustaria presentar lo que quiero hacer y luego me gustaria que respondierais con alguna idea mas, por si alguien se le ocurre algo mejor.
Estoy trabajando en un bootloader para TCP para actualizar el firmware.El microp es NetX500. Resulta que al actualizar el firmware, cuando hay una desconexion de la alimentacion todo se bloquea y me gustaria corregir ese problema. Se me ha ocurrido crear una pequeña aplicacion-boot la cual flasheo unida al firmware standard. Si en el momento de realizar el update del firmware se desconecta la alimentacion, despues del reset lo primero que lee el proceso del boot es esta pequeña aplicacion, la cual decidira si ir al firmware standard o ir al firmware actualizado.

Mi pregunta es si a alguien se le ocurre que comprobacion puedo hacer para decidir ir a uno u otro firmware (checksum, u otro cosa).Tambien si alguien ha tratado con este problema agradeceria que me lo comentara.

Gracias y un saludo.
 
#2
Una forma que vi es usando el doble de la memoria requerida, recibes el firmware y lo grabas en la memoria libre, lo verificas y finalmente solo cambias un goto al inicio del programa para que el micro ejecute el nuevo firmware al inicio, despues borras el firmware anterior
 
Arriba