Actualización segura de firmware en dispositivos desplegados
Comenzar arrow_downwardEl bootloader permite actualizar dispositivos en campo sin acceso físico.
El bootloader reside al inicio de la memoria Flash y carga la aplicación.
Firmas digitales garantizan que solo firmware autorizado puede ejecutarse.
Device Firmware Update - tres estrategias según recursos disponibles.
Bootloader recibe imagen por UART y escribe directamente en el slot de aplicación.
Aplicación escribe en slot secundario. Bootloader intercambia al reiniciar.
Como dual slot, pero si la nueva app falla, bootloader revierte automáticamente.
boot_write_img_confirmed() para marcar la imagen como válida. Si no lo hace antes del siguiente reinicio, el bootloader revierte a la versión anterior.
Cómo funciona la actualización segura con rollback automático.
boot_write_img_confirmed() marca como permanenteBootloader por defecto en NCS/Zephyr, configurable y seguro.
Con esta única línea, el sistema de build genera automáticamente el bootloader junto con tu aplicación.
imgtool.py firma la imagen de tu aplicación durante el build.
La imagen nueva se ejecuta una vez. Si no se confirma, el siguiente reinicio revierte a la anterior.
Después de llamar boot_write_img_confirmed(), la imagen se marca como permanente.
Sistema de build de alto nivel para proyectos con bootloader.
SB_CONFIG_, mientras que las opciones normales de Kconfig usan CONFIG_.
Gestiona las particiones de memoria para bootloader y aplicación.
DFU a través de conexiones inalámbricas: BLE, Wi-Fi, Cellular.
Actualización desde app móvil o gateway BLE.
Para dispositivos con nRF9160 y conectividad celular.
Para dispositivos con nRF7002 o Wi-Fi externo.
Nunca uses las claves de desarrollo en dispositivos reales.
Conceptos clave para actualizaciones seguras de firmware.
Programa inmutable en 0x00000000 que verifica y carga la aplicación.
Actualización segura con rollback automático si la nueva imagen falla.
Clave pública en bootloader, clave privada segura en servidor de build.
"Un buen bootloader es la diferencia entre un producto actualizable y un ladrillo."
Invierte tiempo en configurar correctamente MCUboot y FOTA desde el principio. Es mucho más difícil añadirlo después.
Configuración y particiones esenciales para MCUboot.
Fundamentos de Bluetooth Low Energy y comunicación inalámbrica.