Open Firmware è uno standard che definisce le interfacce di un firmware per computer, precedentemente approvato dall'Institute of Electrical and Electronics Engineers.

Consente a un sistema di caricare dei driver indipendentemente dalla piattaforma direttamente da un dispositivo PCI, migliorandone la compatibilità.

È possibile accedervi grazie alla sua interfaccia a riga di comando, che utilizza il linguaggio di programmazione Forth.

Storia È rappresentato nello standard IEEE come IEEE 1275-1994. Lo standard non è più stato rinnovato dal 1998 da parte dell'Open Firmware Working Group, è stato quindi ufficialmente ritirato dall'IEEE nel maggio 2005.

Caratteristiche L'Open Firmware definisce un modo standard per descrivere la configurazione hardware di un sistema, chiamata device tree. Questo aiuta il sistema operativo a comprendere meglio la configurazione del computer host, facendo meno affidamento sulla configurazione dell'utente e sul polling dell'hardware. Ad esempio, Open Firmware è essenziale per identificare in modo affidabile i dispositivi I²C slave come i sensori di temperatura per il monitor di sistema, mentre è noto che la soluzione alternativa di eseguire un sondaggio cieco del bus I²C, come deve essere fatto da un software come lm_sensors su hardware generico, in determinate circostanze provoca seri problemi hardware.

Open Firmware Forth Code può essere compilato in FCode, un bytecode indipendente dall'architettura dell'instruction set. Una scheda PCI può includere un programma, compilato su FCode, che funziona su qualsiasi sistema Open Firmware. In questo modo, può fornire diagnostica all'avvio, codice di configurazione e driver di dispositivo. FCode è anche molto compatto, tanto che un driver del disco può richiedere solo uno o due kB. Pertanto, molte delle stesse schede I/O possono essere utilizzate su sistemi Sun e Macintosh che utilizzano Open Firmware. FCode implementa ANS Forth e un sottoinsieme della libreria Open Firmware.

Essendo basato su un linguaggio di programmazione interattivo, Open Firmware può essere utilizzato per testare e sviluppare in modo efficiente nuovo hardware. Consente di scrivere e testare i driver in modo interattivo. I driver video e mouse operativi sono l'unico prerequisito per un'interfaccia grafica adatta alla diagnostica dell'utente finale. Apple ha fornito un "sistema operativo" di questo tipo diagnostico in molti Power Macintosh. Sun ha inoltre distribuito una suite di strumenti diagnostici basata su FCode denominata OpenBoot Diagnostics (OBDiag) utilizzata dal supporto del servizio clienti e dai team di produzione dell'hardware.

Implementazioni e licenze Diverse implementazioni commerciali di Open Firmware sono state rilasciate alla comunità Open Source dal 2006, tra cui Sun OpenBoot, Firmworks OpenFirmware e Codegen SmartFirmware. Il codice sorgente è disponibile dal progetto OpenBIOS.

Note

Voci correlate Coreboot Power-on self-test PowerPC Reference Platform UEFI

Collegamenti esterni

Categoria:Hardware libero Categoria:BIOS Categoria:Standard IEEE Categoria:Software Sun Categoria:Firmware Categoria:Tecnologie di macOS Categoria:Hardware Apple