EFI

EFIEFI

Firmware Overview

In embedded systems and industrial applications firmware is the software code, which is embedded in the hardware. There are two aspects of firmware in embedded industry. One is the code for simple devices such as routers or switches and the other is embedded operating systems used in industrial devices such as servers or workstations. The firmware either is burned on a Flash ROM or is uploaded onto hardware as bit file.

Open Firmware

Another type of firmware is the hardware-independent firmware also known as open firmware. It was launched by the Sun Microsystems. Workstations and Servers based on Sun Microsystems SPARC hardware contain the open firmware. Its functionality is the same as BIOS (basic input output system). Other systems include PegasosPPC and IBM power systems, and also Apple Macintosh computers.

Open Firmware Language

Open firmware is based on a high level language known as Forth. Coding is on Fcode, a byte code. Not being a machine code this Fcode is independent of any particular computer architecture. For user interaction open firmware offers a Forth based shell interface.

Extensible Firmware Interface (EFI)

EFI (extensible firmware interface) is an interface between operating system and hardware. Intell launched the EFI as an improvement over BIOS. Intel's newer PC chipsets and IA-64 architecture support EFI. Being a firmware it is also loaded onto Flash ROM. EFI offers all the functionalities of traditional BIOS. These include Operating system bootstrap process, POST (power on self test) process, hardware – software interface, and (ACPI) advanced configuration and power interface. So what are the improvements?

EFI improvements / Functions

EFI does not require a boot loader rather it selects and loads the operating system itself. Vendors can create operating system independent device drivers through EFI. Extensible firmware interface (EFI) allows the operating system operate in various modes. One of them is sandbox mode that transfers the memory management and networking issues to the firmware instead of OS.

EFI upgrades

EFI can be upgraded through any non volatile storage device attached to the system. Extension stored at a hard disk can easily be used to upgrade an EFI BIOS. With EFI shell the user can run utilities such as configuration, diagnostic, DVDs, or CDs, without loading a complete operating system.

Architectures Supporting EFI

Since its development EFI is becoming more popular. Gateway 610 Media Center was first EFI based consumer-oriented computer system. Now Intell (945 chipsets, Macintosh computers), windows XP 64 bit, Windows Server 2003, and LINUX support and implement extensible firmware software interface (EFI).