Firmware abierto


Open Firmware es un estándar que define las interfaces de un sistema de firmware de computadora , anteriormente respaldado por el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE). Se originó en Sun Microsystems , donde se conocía como OpenBoot , y ha sido utilizado por proveedores como Sun, Apple , IBM y ARM . [1] El firmware abierto permite que el sistema cargue controladores independientes de la plataforma directamente desde un dispositivo PCI, lo que mejora la compatibilidad.

Se puede acceder a Open Firmware a través de su interfaz de línea de comandos , que utiliza el lenguaje de programación Forth .

Open Firmware se describe en el estándar IEEE IEEE 1275-1994 , que no fue reafirmado por el Open Firmware Working Group (OFWG) desde 1998 y, por lo tanto, ha sido retirado oficialmente por IEEE.

Varias implementaciones comerciales de Open Firmware se lanzaron a la comunidad de código abierto en 2006, incluidas Sun OpenBoot, Firmworks OpenFirmware y Codegen SmartFirmware. El código fuente está disponible en el proyecto OpenBIOS . La implementación de Sun está disponible bajo una licencia BSD . [2]

Open Firmware define una forma estándar de describir la configuración de hardware de un sistema, denominada árbol de dispositivos . [3] Esto ayuda al sistema operativo a comprender mejor la configuración de la computadora host, confiando menos en la configuración del usuario y el sondeo del hardware. Por ejemplo, Open Firmware es esencial para identificar de manera confiable dispositivos esclavos I 2 C como sensores de temperatura para monitoreo de hardware , [4] :  §5.1 mientras que la solución alternativa de realizar una prueba ciega del bus I 2 C , como debe hacerse por software como lm_sensorsen hardware genérico, se sabe que provoca graves problemas de hardware en determinadas circunstancias. [4] :  §5.2

Open Firmware Forth Code se puede compilar en FCode, un código de bytes que es independiente de la arquitectura del conjunto de instrucciones . Una tarjeta PCI puede incluir un programa, compilado en FCode, que se ejecuta en cualquier sistema Open Firmware. De esta forma, puede proporcionar diagnósticos en tiempo de arranque , código de configuración y controladores de dispositivos . FCode también es muy compacto, por lo que un controlador de disco puede requerir solo uno o dos kilobytes. Por lo tanto, muchas de las mismas tarjetas de E/S se pueden usar en sistemas Sun y Macintosh que usaron Open Firmware. FCode implementa ANS Forth y un subconjunto de la biblioteca Open Firmware.


Captura de pantalla de OpenBoot