Obtenga información sobre el desarrollo de firmware de los principales proveedores de SO y SOTR:
-
WinCE
BSP is the common name for all board hardware-specific code including the boot loader, the OEM adaptation layer (OAL), and board-specific device drivers.
-
x86ROM Boot Loader
The x86 ROM boot loader, or romboot, is a small-sized boot loader that resides in system flash memory, usually as 256 KB EEPROM.
-
Wind River* VxWorks
VxWorks is an RTOS built on a highly scalable, deterministic, hard real-time kernel.
-
QNX*
Instant-on support for the Intel® Atom™ processor.
Distribuciones de Linux:
Consulte el artículo: Embedded Development - QNX* or Linux*? (Desarrollo integrado: ¿QNX* o Linux*?) de la Red de software Intel®
Puede optar por un firmware de terceros como BIOS o la Interfaz de firmware ampliada (EFI). También puede optar por usar un cargador de inicio para la inicialización rápida del sistema y la reducción del espacio, para satisfacer las necesidades de numerosas soluciones integradas.
Elija BIOS si su diseño va a ser compatible con diversas interfaces estándar y ranuras de expansión o si va a alojar a sistemas operativos de uso general con un amplio conjunto de funciones previas al SO, que estén preparados para ejecutar múltiples aplicaciones.
Elija EFI para un firmware basado en el lenguaje C como alternativa al BIOS tradicional, donde se destaque la facilidad de uso y la ubicuidad entre plataformas. EFI define una capa de interfaz de software entre el sistema operativo y el firmware de la plataforma.
Elija un cargador de inicio para pilas de firmware reducidas o especializadas donde los requisitos comprendan las optimizaciones de velocidad, tamaño o de requisitos específicos del sistema, con capacidades de actualización o expansión mínimas.
Un sistema básico de entrada y salida (BIOS) inicializa el hardware y lo inicia hasta tal punto que el sistema operativo puede cargarse, y abstrae el sistema operativo del hardware. El acceso al hardware se logra mediante determinados comandos de BIOS.
Una solución BIOS con todas las funciones está diseñada para ejecutar algoritmos completos de inicialización y búsqueda. El BIOS se utiliza en diseños que admiten diversos casos de uso para la plataforma, servicios personalizables, diversas rutas de inicio, diversos sistemas operativos, o conjuntos enriquecidos de funciones. En algunos diseños integrados, puede resultar apropiado un BIOS tradicional o una pila de firmware de UEFI con todas las funciones utilizada por diseños de equipos portátiles típicos.
Por lo general, los objetivos de diseño de los sistemas integrados son menor tiempo de inicio, menor espacio, funcionalidad especializada y menor costo. Por este motivo, muchos diseños de sistemas integrados quedan cargados con la adopción del BIOS con todas las funciones y, por consiguiente, los diseñadores buscan una solución más optimizada.
Intel promueve la Interfaz de firmware ampliada (Extensible Firmware Interface, EFI) como firmware modular basado en el lenguaje C alternativo al BIOS tradicional.
La especificación EFI define un modelo para la interfaz entre los sistemas operativos y el firmware de plataforma. La interfaz está compuesta por tablas de datos que contienen información relacionada con la plataforma, más llamadas a servicios de inicio y tiempo de ejecución que están disponibles para el sistema operativo y su cargador. De manera combinada, ofrecen un entorno estándar para el arranque de un sistema operativo y la ejecución de aplicaciones de prearranque.
La figura 1 muestra la ubicación de la capa de EFI en la arquitectura de plataforma.
Figura 1. Ubicación de la capa de EFI
En 2005, se creó una nueva organización de la industria, conocida como Foro de EFI Unificada (Unified EFI Forum, UEFI), para administrar y promover la especificación EFI, y EFI pasó a llamarse UEFI. Visite el sitio web de UEFI para obtener más información.
Los dispositivos integrados poseen requisitos exclusivos que suponen un reto para las soluciones de BIOS de PC de que existe “un modelo adecuado para todos”. Los marcos de UEFI pueden ofrecer soluciones flexibles que pueden diferenciarse de las soluciones de producción integrada.
- EFI promueve la facilidad de uso entre plataformas definiendo una capa de interfaz de software entre el sistema operativo y el firmware de plataforma.
- EFI facilita la migración y la incorporación de cambios en el inicio del hardware de la plataforma, lo cual reduce los costos de fabricación y asistencia técnica.
- EFI puede ejecutar utilidades de diagnóstico antes de cargar el SO, lo cual requiere menos tiempo de inicio.
- Con el BIOS de EFI puede alcanzarse un tiempo de inicio de menos de 2 segundos. Muchas mejoras de velocidad del BIOS de EFI, particularmente la eliminación de funciones, son específicas de los mercados integrados. Para obtener más información, consulte la documentación técnica de Intel: Fastboot BIOS: An Investigation of BIOS Speed Enhancement Featuring the Intel® Atom™ Processor (BIOS de inicio rápido: Investigación sobre la mejora de velocidad del BIOS con el procesador Intel® Atom™)
En el sitio web de Intel sobre EFI puede encontrar información sobre la especificación EFI, la escritura de controladores EFI y sobre cómo usar el Kit de herramientas de aplicación de EFI y de ejemplos de implementación de EFI.
El Marco es la implementación recomendada por Intel de la especificación EFI para las plataformas basadas en todos los integrantes de la familia de la arquitectura Intel®. El Marco consiste en un conjunto de inferfaces arquitectónicas, implementadas en C, que fueron diseñadas para permitir que la industria de BIOS y los clientes de Intel aceleren la evolución de los diseños de plataforma.
Los proveedores participantes ofrecen productos y servicios basados en el Marco para placas de Intel y de otras marcas. Consulte aquí información sobre el Marco y las especificaciones.
Descargue esta presentación del Foro de desarrolladores de Intel para conocer los beneficios de EFI y de su aplicación a la informática integrada: Intel Framework Customization for Optimized Platform Boot Initialization (Personalización del Marco de Intel para la inicialización optimizada del arranque de la plataforma).
Proveedores participantes del Marco:
Un cargador de inicio es una buena elección para las situaciones en las que no se prevé la personalización por parte del usuario y donde la plataforma sólo requiere asistencia técnica básica sobre inicialización. En los casos donde se prefiere el modelo “hágalo usted mismo”, donde el pago de regalías por el código de inicialización no es aceptable y donde se requiere un inicio rápido o poco espacio, el cargador de inicio personalizado podría ser la mejor opción.
Comuníquese con el proveedor de sistemas operativos para obtener información sobre asistencia para el desarrollo de cargadores de inicio.