Articulo de referencia

Firmware abierto

Captura de pantalla de OpenBoot Open Firmware es un estándar que define las interfaces de un sistema de firmware de computadora , respaldado anteriormente por el Instituto de In...

Captura de pantalla de OpenBoot

Open Firmware es un estándar que define las interfaces de un sistema de firmware de computadora , respaldado anteriormente 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 múltiples proveedores, incluidos Sun , Apple , [ 1 ] IBM y ARM .

El firmware abierto permite que un 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 .

Historia

El firmware abierto fue descrito por el estándar IEEE como IEEE 1275-1994 . Este estándar no fue reafirmado por el Grupo de Trabajo de Firmware Abierto (OFWG) desde 1998, y por lo tanto fue retirado oficialmente por el IEEE en mayo de 2005. [ 2 ]

Características

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 del ordenador anfitrión, dependiendo menos de la configuración del usuario y del sondeo del hardware. Por ejemplo, Open Firmware es esencial para identificar de forma fiable dispositivos esclavos I²C , como sensores de temperatura, para la monitorización del hardware , [ 4 ] : ​​§5.1 mientras que la solución alternativa de realizar una sonda ciega del bus I²C , como debe hacerse con software como lm_sensors en hardware genérico, se sabe que provoca graves problemas de hardware en determinadas circunstancias. [ 4 ] : ​​§5.2

El código Forth de Open Firmware se puede compilar en FCode, un código de bytes 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 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 usaban Open Firmware. FCode implementa ANS Forth y un subconjunto de la biblioteca Open Firmware.

Al estar basado en un lenguaje de programación interactivo, Open Firmware se puede utilizar para probar y poner en marcha hardware nuevo de forma eficiente. Permite escribir y probar controladores de forma interactiva. Los controladores de vídeo y ratón operativos son el único requisito previo para una interfaz gráfica adecuada para el diagnóstico del usuario final. Apple incluyó un "sistema operativo" de diagnóstico de este tipo en muchos Power Macintosh. Sun también incluyó un conjunto de herramientas de diagnóstico basado en FCode llamado OpenBoot Diagnostics (OBDiag), utilizado por los equipos de atención al cliente y de fabricación de hardware. [ 5 ]

Implementaciones y licencias

Desde 2006, se han lanzado varias implementaciones comerciales de Open Firmware a la comunidad de código abierto, entre ellas 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 .

Véase también

Referencias

  1. "Apple Wiki - Firmware abierto" .
  2. Norma IEEE para firmware de arranque (configuración de inicialización): requisitos y prácticas principales . 28 de octubre de 1994. págs. 1–262 . doi : 10.1109/IEEESTD.1994.89427 . ISBN  978-0-7381-1194-0.
  3. Mauro, Jim (2001). Solaris Internals: Core Kernel Components . Prentice-Hall Professional. pág. 107. ISBN  9780130224965.
  4. 1 2 Constantine A. Murenin (21 de mayo de 2010). "5.1. Firmware abierto e I 2 C". Sensores de hardware de OpenBSD: monitorización ambiental y control de ventiladores ( tesis de MMath ). Universidad de Waterloo : UWSpace. hdl : 10012/5234 . ID del documento: ab71498b6b1a60ff817b29d56997a418.
  5. "Guía del propietario del servidor Sun Enterprise 250 > Capítulo 12 Diagnóstico y solución de problemas > Acerca de OpenBoot Diagnostics (OBDiag)" . Archivado del original el 7 de marzo de 2021.
  • Sitio web oficial en Wayback Machine (archivado el 30/06/2007)
  • Manual de referencia de comandos de OpenBoot 2.x de Sun (Revisión A, noviembre de 1995)
  • Manual de referencia de comandos SPARC OpenBoot 4.x de Sun
  • El último texto IEEE 1275
  • Proceso de arranque en IBM POWER (a través de Internet Archive )
  • Preguntas frecuentes de OFW en la wiki de OLPC
  • Guía de referencia de Aurora SPARC Linux OBP (a través de Internet Archive )
  • Referencia rápida