1. Home

Bootloader

El bootloader es un programa que asegura que los datos de un sistema operativo se carguen en la memoria principal al iniciar de un dispositivo.

¿Qué es el bootloader?

El bootloader es un programa que asegura que los datos de un sistema operativo se carguen en la memoria principal al iniciar un dispositivo. Cuando se enciende un dispositivo, el bootloader es el primer elemento de software que se inicia y se encarga de copiar el resto del software en la RAM) y, después, del inicio ordenado del software principal.

Productos relacionados: Capital Embedded AR Classic | Capital Embedded Integrator AR Classic | Capital Embedded Virtualizer AR Classic

what-is-bootloader-feature-640x360

Descubre las ventajas

Actualizaciones de firmware seguras y fiables

Al verificar la integridad y autenticidad de la imagen de nuevo firmware, los bootloaders ayudan a evitar que se instale software no autorizado o malicioso.

Resolución de fallos y redundancia

En caso de fallo del software o del firmware, un bootloader puede iniciar procedimientos de recuperación, como retroceder a una anterior versión buena y conocida, o cambiar a una imagen de firmware de copia de seguridad redundante.

Gestión flexible del software

Los bootloaders permiten instalar actualizaciones y parches a distancia o desde interfaces de diagnóstico, lo que reduce la necesidad de acceder físicamente al hardware del vehículo.

¿Qué hace un bootloader en una ECU de automoción?

Supongamos que tienes una unidad de control electrónico (ECU) que utiliza el típico software integrado estático. El bootloader es un componente de software que se utiliza para iniciar el software principal de la ECU, incluida la copia del software en la RAM, así como para efectuar cualquier comprobación del software antes del inicio. También se ocupa de actualizar el software. Recibe, comprueba y escribe el software actualizado en la memoria, normalmente la memoria flash. Por ese motivo, en general también se utiliza el término flash bootloader.

¿Se utilizan los mismos bootloaders en desarrollo y en producción?

En líneas generales, se puede utilizar el mismo bootloader en el desarrollo de vehículos, las ECUs asociadas y la producción normal, con protecciones para asegurar que las ECUs de producción tengan desactivadas muchas funcionalidades de los bootloaders de desarrollo o ingeniería. Durante el desarrollo de un vehículo, a menudo es conveniente eliminar los mecanismos de seguridad de los bootloaders de producción para permitir una rápida implementación del software de desarrollo.

Bootloader seguro

Cada vez más se exige que todos los bootloaders sean seguros. Sin embargo, siempre se ha tratado de una distinción, en general implementada para preservar funcionalidades relativas a la seguridad, la protección y, a veces, el rendimiento.

Los bootloaders suelen comprobar la memoria de software de la ECU al iniciarse y el software recibido antes de una actualización de software y, después, en la memoria.

Los mecanismos suelen incluir:

  • Autenticación del software recibido o presente en la memoria al iniciarse, con frecuencia mediante un hash del binario del software para comprobar su corrección, generado a partir de un proceso de compilación seguro de versiones de software publicadas oficialmente.
  • Autenticación del remitente mediante un originador y una clave, protección de los datos dentro de la ECU mediante una memoria segura y mapas de memoria para definir las zonas accesibles/reescribibles.

Bootloader dual

Algunas implementaciones de bootloaders constan de dos partes; por ese motivo, se habla de bootloader dual. En este caso, el bootloader primario no se puede actualizar, como parte de la seguridad del bootloader. Se ocupa del inicio del módulo y la actualización del bootloader secundario. El bootloader secundario puede actualizarse, mediante un proceso seguro, y posibilitar modificaciones en el proceso de actualización del software, como el mapa de memoria, y permitir que estos se bloqueen normalmente. En la actualidad, este tipo de bootloader es menos común debido a los nuevos métodos para asegurar el proceso de actualización mediante hardware seguro integrado; por ejemplo, HSM (Hardware Secure Module).

Este término equivale al inicio dual, en el que se dispone de dos bloques de inicio, o memorias completas, que permiten que se efectúe una actualización en la versión no utilizada mientras una versión está activa. Requiere memoria adicional en cada ECU que admita este método de actualización.

Capital Embedded Bootloader

Capital Embedded Bootloader admite actualizaciones fiables de la ECU durante el desarrollo, la producción y durante la vida útil del vehículo mediante herramientas de diagnóstico conectadas o metodologías inalámbricas. El protocolo normalizado ISO 14229 UDS se utiliza en una serie de buses de red de vehículos comunes, Ethernet, CAN/CAN-FD, LIN, FlexRay. También es posible utilizar otros métodos, como los protocolos de calibración ASAM. La ciberseguridad es un aspecto clave del flujo y las funciones de actualización de software, lo que permite incluir la autenticación de software y las opciones de inicio seguro como parte de la solución. Para satisfacer los requisitos de OEMs y MCU, ofrecemos una amplia compatibilidad para una gran variedad de proyectos de ECU.

¿Cuál es la diferencia entre OTA y FOTA?

La actualización OTA (inalámbrica) o FOTA (firmware inalámbrico) es un método destinado a lograr la recepción de nuevo software para un dispositivo integrado, como la ECU de un automóvil, de forma remota, desde una herramienta de servicio conectada en una planta de producción. Esto puede requerir alguna funcionalidad de comprobación de diagnóstico integrada en una ECU coordinadora, o bien funcionalidades de recuperación y autocomprobación en el propio bootloader.

Explorar productos relacionados con el bootloader

Más información

Ver

Supera los retos en el desarrollo de software integrado para vehículos eléctricos.

Leer

Ciberseguridad moderna en la industria de la automoción mediante comunicación segura, autenticación fuerte y cortafuegos flexibles.