Powered By GitBook
3 Foundation
UEFI employs several key concepts as cornerstones of understanding for UEFI Drivers. These concepts are defined in the UEFI Specification. Programmers new to UEFI should find the following introduction to a few of UEFI's key concepts helpful as they study the UEFI Specification.
The basic concepts covered in the following sections include:
    Basic programming model
    Objects managed by UEFI-conformant firmware
    UEFI system table
    Handle database
    Protocols
    UEFI images
    Events
    Task priority levels
    Device paths
    UEFI driver binding model
    Platform initialization
    Boot manager and console management
    EDK II libraries
As each concept is discussed, the related application programming interfaces (APIs) are identified along with references to the related sections in the UEFI Specification.
One of the components available from the EDK II open source project and distributed with the UDK2010 releases is the UEFI Shell; a command line interface with useful commands for development and testing of UEFI drivers and UEFI applications. The UEFI Shell also provides commands to help illustrate many of the basic concepts described in the sections that follow. These useful UEFI Shell commands are identified as each concept is introduced. The UEFI Shell is an open source project at http://www.tianocore.org where documents providing details on all of the available commands can be found.
Last modified 1yr ago
Copy link