# Open Firmware

Open Firmware és un estàndard que defineix les interfícies d'un sistema de microprogramari informàtic, anteriorment aprovat per l'Institut d'Enginyers Elèctrics i Electrònics (IEEE). Es va originar a Sun Microsystems, on es coneixia com a OpenBoot, i ha estat utilitzat per diversos venedors com Sun, Apple, IBM i ARM.
Open Firmware permet que un sistema carregui controladors independents de la plataforma directament des d'un dispositiu PCI, millorant la compatibilitat.
Es pot accedir a l'Open Firmware a través de la seva interfície de línia d'ordres, que utilitza el llenguatge de programació Forth.

## Història

Open Firmware va ser descrit per l'estàndard IEEE com IEEE 1275-1994 . Aquest estàndard no va ser reafirmat per l'Open Firmware Working Group (OFWG) des de 1998 i, per tant, va ser retirat oficialment per IEEE el maig de 2005.

## Característiques

Open Firmware defineix una manera estàndard de descriure la configuració de maquinari d'un sistema, anomenada arbre de dispositius. Això ajuda el sistema operatiu a entendre millor la configuració de l'ordinador amfitrió, depenent menys de la configuració de l'usuari i de l'enquesta de maquinari. Per exemple, Open Firmware és essencial per identificar de manera fiable els dispositius esclaus I$^2$C com els sensors de temperatura per al control de maquinari, $^{:§5.1}$mentre que la solució alternativa de realitzar una sonda cega del bus I$^2$C, tal com s'ha de fer amb programari com lm_sensors en maquinari genèric, se sap que provoca problemes greus de maquinari en determinades circumstàncies.
Open Firmware Forth Code es pot compilar a FCode, un bytecode que és independent de l'arquitectura del conjunt d'instruccions. Una targeta PCI pot incloure un programa, compilat a FCode, que s'executa en qualsevol sistema Open Firmware. D'aquesta manera, pot proporcionar diagnòstics d'inici, codi de configuració i controladors de dispositiu. FCode també és molt compacte, de manera que un controlador de disc pot requerir només un o dos kilobytes. Per tant, moltes de les mateixes targetes d'E/S es poden utilitzar en sistemes Sun i Macintosh que utilitzaven Open Firmware. FCode implementa ANS Forth i un subconjunt de la biblioteca Open Firmware.
Basat en un llenguatge de programació interactiu, Open Firmware es pot utilitzar per provar i fer aparèixer nou maquinari de manera eficient. Permet escriure i provar els controladors de manera interactiva. Els controladors de vídeo i ratolí operatius són l'únic requisit previ per a una interfície gràfica adequada per al diagnòstic de l'usuari final. Apple va enviar aquest "sistema operatiu" de diagnòstic a molts Power Macintosh. Sun també va enviar una suite d'eines de diagnòstic basada en FCode anomenada OpenBoot Diagnostics (OBDiag) utilitzada pels equips d'assistència al client i de fabricació de maquinari

## Implementacions i llicències

Diverses implementacions comercials d'Open Firmware s'han llançat a la comunitat de codi obert des del 2006, incloent Sun OpenBoot, Firmworks OpenFirmware i Codegen SmartFirmware. El codi font està disponible des del projecte OpenBIOS. La implementació de Sun està disponible sota una llicència BSD.

## Referències

* ↑ «Open Firmware Definition - What is open firmware?» (en anglès). [Consulta: 2 setembre 2023].
* ↑ IEEE Standard for Boot (Initialization Configuration) Firmware: Core Requirements and Practices (en anglès), 28 octubre 1994, p. 1–262. DOI 10.1109/IEEESTD.1994.89427. ISBN 978-0-7381-1194-0.
* ↑ «IEEE Standards Association» (en anglès). IEEE Standards Association. [Consulta: 26 abril 2023].
* ↑ Mauro, Jim. Solaris Internals: Core Kernel Components (en anglès). Prentice-Hall Professional, 2001, p. 107. ISBN 9780130224965.
* ↑ OpenBSD Hardware Sensors – Environmental Monitoring and Fan Control (tesi) (en anglès). MMath, 2010-05-21. Document ID: ab71498b6b1a60ff817b29d56997a418..