Implementing Firmware on Embedded Intel Architecture Designs.Pdf

Implementing Firmware on Embedded Intel Architecture Designs.Pdf

White Paper John MacInnis Implementing Intel Corporation – ECG Technical Marketing Engineer Firmware on Embedded Intel® Architecture Designs Intel® Architecture Firmware Design Guidelines January 2009 321072 ® Implementing Firmware on Embedded Intel Architecture Designs Executive Summary Embedded Intel® architecture designs include a firmware stack which initializes CPU cores, memory, IO, peripherals, graphics and provides runtime support for operating systems. This paper gives a high-level overview of a number of firmware technologies to be considered on Embedded Intel® architecture designs. Many links to external references are included. Because of its inherent complexity and number of technologies to be considered, the general recommendation is made that OEM Embedded Intel® architecture firmware design teams consider starting with an available solution from an IBV, ISV or the Intel® ecosystem and build on it to meet their particular product requirements. There are a number of firmware technologies to be considered on embedded Intel® architecture designs. 2 321072 ® Implementing Firmware on Embedded Intel Architecture Designs Contents Business Challenge .................................................................................................4 Solution ................................................................................................................4 ® Essentials of Embedded Intel architecture (Boot Loader) Firmware...............................5 ® Intel Architecture Functional Block Diagram ..............................................................6 The History and Evolution of BIOS.............................................................................7 A brief history.......................................................................................7 Limitations of legacy BIOS......................................................................8 ® The Birth of the Intel Platform Innovation Framework for EFI.....................8 What is UEFI? ........................................................................................................9 UEFI PI Firmware Phases .....................................................................11 UEFI Interoperability Validation Activities................................................12 Advanced Configuration and Power Interface (ACPI) ..................................................13 System Management Mode (SMM) ..........................................................................15 Independent BIOS Vendors (IBVs) ..........................................................................15 Embedded Independent Software Vendors (ISVs)......................................................16 Boot Time Optimization .........................................................................................16 Legacy Free .........................................................................................................17 Advanced IBV BIOS Features..................................................................................17 Intel Advanced Firmware Features ..........................................................................21 Industry Standards: Organizations and Specs ...........................................................21 Conclusion ...........................................................................................................22 ® Intel Architecture Firmware Acronyms....................................................................23 ® Intel architecture Firmware Terminology ................................................................24 321072 3 ® Implementing Firmware on Embedded Intel Architecture Designs Business Challenge A firmware solution is essential for embedded Intel® architecture designs. For customers migrating to Intel® architecture from non-Intel® architecture designs, the first business challenge is the decision to make or buy. Customers must also decide if their requirements include a full-BIOS solution or a simpler Boot Loader. Embedded Intel® architecture designs must include a firmware stack which initializes the platform hardware and provides support for the Operating System. Intel® architecture-based desktop, notebook and server products typically use a full BIOS implementation which is either provided by an Independent BIOS Vendor (IBV) or an in-house BIOS development team. Embedded system designs have significant cost versus feature requirements and time to market considerations. For many embedded products (e.g. KIOSK or Point of Sale) a full BIOS managed either through an ODM or directly with an IBV is the most effective solution. For more specialized single-purpose embedded products the benefits of full BIOS are reduced. Design simplicity, faster boot times, optimized footprint and BOM cost considerations are significant and requirements often dictate a minimal firmware implementation commonly referred to as a Boot Loader. Embedded customers migrating from non-Intel® architecture designs may find a simple Boot Loader solution more similar to non-Intel® architecture design solutions versus a full BIOS implementation. Solution Determine the cost-benefits of full BIOS on the design. Understand the benefits of an IBV engagement. Understand the minimal requirements of a Boot Loader and development costs. Decide whether to purchase firmware as an ODM BOM cost item, use an IBV, ISV develop or outsource a boot loader from scratch or leverage an open source and/or Intel ecosystem solution. Note that developing and maintaining an in-house firmware or BIOS solution is generally only tenable by a handful of the largest OEM organizations. For most solutions it is advisable to leverage an existing solution and then apply engineering resources to tune, optimize or integrate value-add components into the design. Firmware or BIOS solutions are available through IBVs, ISVs and the Intel ecosystem. 4 321072 ® Implementing Firmware on Embedded Intel Architecture Designs Essentials of Embedded Intel® architecture (Boot Loader) Firmware Every embedded Intel® architecture design must include a firmware stack which initializes CPU cores, memory, IO, peripherals and graphics. A fully featured PC compatible solution is engineered to perform complete discovery and initialization algorithms which can be undesirable in an embedded system. Unlike a PC, in an embedded design, the level of initialization is done in a closed system and therefore can be optimized for faster pre-boot execution and smaller footprint. In addition to pre-boot initialization, runtime support must be provided. The level and architectural protocols of runtime support is determined by the target OS or RTOS. Runtime support is typically handled by a combination of Advanced Configuration and Power Management Interface (ACPI), interrupt services and API function calls. In a minimal Boot Loader implementation the following basic steps are executed as shown in Figure 1: Figure 1. Simple Firmware Flow 321072 5 ® Implementing Firmware on Embedded Intel Architecture Designs Intel® Architecture Functional Block Diagram In addition to a firmware flow chart, it is useful for the firmware designer to refer to functional block diagrams. Firmware components are responsible for initializing each of the block functions seen in the figure below. Firmware will generally perform basic and advanced initialization/configuration of the functional blocks during boot. During runtime, firmware components work in cooperation with the OS to manage dynamic configuration changes and power management of each functional block. • CPU support includes micro-code upload, CPU register configuration and power management • The Graphics and Memory Controller Hub (GMCH) sometimes referred to as the north-bridge, controls main system memory and integrated graphics engine. Intel generally supplies Memory Reference Code (MRC) and video BIOS or graphics drivers on a per chipset basis to licensed developers. • The I/O Controller Hub sometimes referred to as the south-bridge, controls I/O buses and devices. Algorithms and code to support functions of the I/O Controller Hub are designed to conform to industry specifications such as PCI-Sig and USB. 6 321072 ® Implementing Firmware on Embedded Intel Architecture Designs Figure 2. Intel® Architecture Functional Block Diagram The History and Evolution of BIOS A brief history It is commonly known that the Intel® architecture BIOS industry began in 1984 when Compaq* reverse engineered the IBM* PC/AT BIOS. The BIOS of that day was probably more like a boot loader than the full featured BIOS of today. Today most of the PC BIOS market share is captured by a few Independent BIOS Vendors (IBVs) or in-house BIOS implementations from a few large OEMs. In early years BIOS implementations went through many architectural improvements and redesigns. Later, BIOS innovation tended more toward the adoption and integration of new industry-standard configuration and power management technologies. 321072 7 ® Implementing Firmware on Embedded Intel Architecture Designs Limitations of legacy BIOS Over the years, many new configuration and power management technologies were integrated into BIOS implementations as well as support for many generations of Intel® architecture hardware. However certain limitations of BIOS implementations such as 16-bit addressing mode, 1 MB addressable space, PC AT hardware dependencies and upper memory block (UMB) dependencies persisted throughout the years. The industry also began to have need for methods to

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    26 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us