Cargador de arranque para actualizar el firmware

0

Estoy usando el controlador pic con el cargador de arranque HID USB que hará una actualización de firmware a través de USB y lo probé con éxito. Si agrego un dispositivo de dientes azules (UART) e intento una actualización de firmware, confío en que fallará hacer una actualización En este caso, ¿debo reemplazar el cargador de arranque USB HID y utilizar el cargador de arranque en serie (UART) a la derecha?

¿Qué se debe hacer para que sea compatible con Bluetooth y USB? ¿O hay algún cargador de arranque disponible que haga el trabajo? Los teléfonos / dispositivos inteligentes usan actualizaciones por aire y USB, ¿verdad??

    
pregunta Rookie91

1 respuesta

4

En los teléfonos inteligentes y otros dispositivos similares, el gestor de arranque no realizará ningún tipo de comunicación para descargar la nueva imagen del software: esto lo manejará un "cliente de descarga" que se ejecuta en la aplicación y almacena la imagen en una ubicación de memoria. que puede ser utilizado por el gestor de arranque. Una vez que la imagen se ha descargado y validado, la aplicación reinicia el dispositivo para iniciar el cargador de arranque.

Este es un buen enfoque por varias razones:

  • El cargador de arranque suele tener un tamaño limitado y codificarlo como un El simple programador de Flash hace que esto sea menos restrictivo.
  • La aplicación tiene la oportunidad de inspeccionar la imagen descargada en busca de errores (CRC, Códigos de Hamming, etc.) antes de que comience la programación.
  • Es menos probable que la interrupción de la descarga provoque una falla del dispositivo.
  • Puede utilizar varios medios de transporte físico para realizar la descarga.
  • Puede probar el cargador de arranque por unidad aprovisionando imágenes de prueba sin Tener que probar el transporte al mismo tiempo.
  • El bootlaoder puede verificar el software de la aplicación cada vez que se reinicia o enciende el dispositivo y lo vuelve a programar si es necesario.

Los principales inconvenientes son:

  • Es posible que necesite un dispositivo de memoria externo no volátil para almacenar la imagen descargada.
  • El cargador de arranque deberá poder acceder al dispositivo de memoria externa para recuperar la imagen descargada.

Por lo tanto, recomendaría que mueva el código de descarga USB y Serial del cargador de arranque a la aplicación, implemente un dispositivo de memoria externo para almacenar el software descargado y convierta el cargador de arranque en un 'cargador de arranque NVM'.

    
respondido por el Mike of SST

Lea otras preguntas en las etiquetas