Designing Firmware for an Open World

ID 659305
Updated 9/10/2018
Version Latest
Public

author-image

By

As a firmware developer, you can provide consistency across a variety of firmware solutions for Intel silicon by integrating the royalty-free Intel® Firmware Support Package (Intel® FSP) into your bootloader. That will ensure end products properly initialize and behave the same way over time. Intel FSP is a key component of Intel® Slim Bootloader (Intel® SBL)—a scalable firmware solution for IoT devices. It provides an optimized code-base for fast boot while leveraging second generation EFI Development Kit (EDK II) libraries.

Firmware at hand intro cover

TianoCore Development

The adoption of open source has had a significant impact on software development over the past few decades, and Intel continues to expand the use of open source in platform firmware development.

Tiano Core

Since 2004, Intel has supported the TianoCore community as an open source implementation of the Unified Extensible Firmware Interface (UEFI) and UEFI Platform Initialization (PI) standards.

UEFI is broadly adopted as an evolution of the PC legacy Basic Input/Output System (BIOS). TianoCore components are incorporated in commercial and open source firmware solutions, booting billions of devices worldwide.

EDK II is the primary project under TianoCore is, but the community also supports development tools and test frameworks. The MicroPython Test Framework for UEFI was recently contributed to TianoCore, providing a Python* port optimized for constrained environments. Python scripts for UEFI are also used by CHIPSEC, a framework for analyzing the security of PC platforms including hardware, system firmware (BIOS/UEFI), and platform components.

The 2018 Open Source Firmware Conference (OSFC 2018) featured the first public TianoCore hackathon, encouraging broader community participation with hands-on testing of the Signed UEFI Capsule Update implementation in EDK II. TianoCore was initially started to establish consistent protocols and interfaces between UEFI solutions but has expanded to include full platform solutions. Firmware projects available for Intel reference platforms and off-the-shelf hardware include the Open Compute Project (OCP) Project Olympus, MinnowBoard open hardware, and platforms based on the Intel Atom® Processor E3900 Series.

Intel also open sourced the Sound Open Firmware (SOF) project. SOF provides fully-customizable firmware for all Intel® hardware platforms, delivering full code transparency for debugging and development. SOF firmware and drivers are platform-agnostic, simplifying porting and integration with other hardware platforms and digital signal processor (DSP) architectures.

Providing Consistency Across Solutions

Intel’s ability to deliver broad-market solutions means our customers use a variety of firmware solutions, based on their platform requirements. While most off-the-shelf platforms ship use UEFI to maximize compatibility, specialized platforms may launch their software payload with coreboot*, LinuxBoot*, or a custom bootloader for tighter integration. No matter the solution, Intel customers expect their silicon to be properly initialized and behave consistently across solutions.

To provide this consistency, developers can integrate Intel® Firmware Support Package (Intel® FSP) into their bootloader to initialize Intel silicon. This royalty-free solution handles the processor, memory controller, and Intel chipset initialization functions not currently available in open source. Intel FSP uses a simplified licensing agreement, allowing redistribution as part of an open source project or commercial solution.

Intel FSP is a key component of Intel® Slim Bootloader, a new scalable firmware solution for Internet of Things (IoT) devices. Slim Bootloader is ideal for integrated industrial IoT solutions and real-time operating systems with minimal firmware requirements. Slim Bootloader provides a code-base optimized for fast boot while leveraging EDK II libraries.

Related Content

About the Author

Michael Greene

Michael Greene is VP and General Manager, Intel System Technologies and Optimization Division. He leads a worldwide organization responsible for a broad range of development, enabling, and architecture analysis efforts to accelerate development velocity and time to market for Intel platforms. He joined Intel in 1990, after graduating from the Massachusetts Institute of Technology, and managing several new product developments, research efforts, and engineering groups. Michael has served as Intel’s initiative owner for power efficiency, pre-silicon software development, and has driven new technology benchmarking throughout his career. Follow Michael on Twitter*.