EFIFirmware 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).