Skip to content

Latest commit

 

History

History
394 lines (330 loc) · 12.2 KB

Learn_n_Development.md

File metadata and controls

394 lines (330 loc) · 12.2 KB
layout acgRedirectUrl title
acgRedirect
Learning and Development

{% include site-links.md %}

UEFI and EDK II Learning and Development

Welcome to UEFI and EDK II Learning and Development. The courses below are provided to help you increase your knowledge of UEFI and EDK II and to aid you in performing UEFI- and EDK II-related tasks. These courses are provided and produced as a courtesy of Intel Corporation.

To view the online courses, you'll need Adobe* Flash Player 10 or higher. (Also works with Adobe Flash Player 13). Before you begin a course, review the course objectives and intended audience to determine if the course is right for you.


How to download: Download each lesson’s Zip file** into your local directory. Then unzip each one and run each of the .htm files locally. The Flash Player is still required.

Courses

(short description)
Defining Specifications' Role in Firmware & Initializing the Boot Process Lessons 0 - 5
Intended Audience:Firmware/Software Engineers
Course Goal:Initialize the boot process by following the UEFI specifications
Download Description
Zip File**

Lesson 0: Introduction and Defining Specifications Role in Firmware - Overview

Zip File**

Lesson 1: Pre-EFI (PEI) and Security (SEC) Phases

Zip File**

Lesson 2: Driver Execution Environment (DXE)

Zip File** Lesson 3: UEFI Drivers
Zip File** Lesson 4: Firmware and Data Storage
Zip File** Lesson 5: Boot Device Selection (BDS) and Human Interface Infrastructure (HII)


Training Course Detailed Descriptions


Below downloads are the same as above
Defining Specifications' Role in Firmware

Intended Audience: Firmware/Software Engineers

Course Goal: Briefly explore the history and role of specifications in firmware

Lesson Objectives
Lesson 0: Zip File**   Lesson 0: Defining Specifications' Role in Firmware
Course Objectives
When you complete the course, you will be able to:
  • Identify and define the Legacy BIOS and UEFI specifications
  • Compare the similarities and differences of Legacy BIOS and UEFI
  • Define Platform Initialization and explain its evolution from “The Framework” to “Platform Initialization”
  • Explain the benefits of Platform Initialization
  • Define EDK I and II and their purposes

Initializing the Boot Process

						<b>Intended Audience:</b> Firmware/Software Engineers 	<br>
						<b>Course Goal:</b> Initialize the boot process by 
						following the UEFI specifications </p>
						</span></td>
					</tr>
					<tr style="background-color: #fed872">
						<th style="background-color: #fed872">
						<span style="text-align: left; font-family: Verdana;  font-size: 10pt">
						Lesson </span></th>
						<th style="background-color: #fed872">
						<span style="text-align: left; font-family: Verdana;  font-size: 10pt">
						Objectives </span></th>
					</tr>
Lesson 1: Zip File**
</td>
<td>
<b> Lesson 1:Pre-EFI (PEI) and Security (SEC) Phases</b> <BR>
When you complete this lesson, you will be able 
to:
<ul>
<li>Access EDK II to assist you in in using 
	commercial compilers, providing for self-hosted 
	development, and supplying libraries to assist 
	in managing common tasks. 
</li>
<li>Use tools to assist you in Platform 
	Initialization </li>
	<li>Define and implement types of debugging 
	allowed with EDK II </li>
	<li>Identify the responsibilities of the 
	Security phase </li>
	<li>Define PEI and its purpose, functions, 
	attributes, and components </li>
	<li>Describe PEI’s relationship to memory </li>
	<li>Explain HOBs, their purpose, and 
	contribution to the PEI phase </li>
	<li>Transition from the PEI phase to the DXE 
	phase. </li>
						</ul>
						</td>
					</tr>
Lesson 2: Zip File**
						</td>
						<td>
						<b>Lesson 2: Driver Execution Environment (DXE)</b><BR>
						When you complete this lesson, you will be able 
						to:
						<ul>
							<li>Summarize the DXE phase and its purpose, 
							functions, properties, attributes, and 
							components </li>
							<li>Identify the responsibilities of the DXE 
							phase </li>
							<li>Describe event and their role in the DXE 
							phase </li>
							<li>Define architectural protocols and their 
							role in the DXE phase </li>
							<li>Compare and contrast the two types of DXE 
							drivers: Early DXE Phase Drivers and UEFI 
							Drivers </li>
							<li>Explain System Management Mode Services’ 
							characteristics, services, and role in PI. </li>
						</ul>
						</td>
					</tr>
					<tr>
						<td>Lesson 3:
						<a href="https://github.com/tianocore-docs/Training/raw/master/Online/lesson3/Lesson_3_Drivers.zip"> Zip File**</a>

						</td>
						<td>
						<b>Lesson 3: UEFI Drivers </b><BR>
						When you complete this lesson, you will be able 
						to:
						<ul>
							<li>Summarize UEFI drivers’ attribute, 
							functions, and contents </li>
							<li>Compare and contrast drivers and 
							applications </li>
							<li>Define UEFI protocols and explain their 
							properties </li>
							<li>Outline the UEFI driver design process </li>
							<li>Identify and define the types of UEFI 
							drivers </li>
							<li>Describe the necessary and recommended 
							protocols for writing UEFI drivers 
							</li>
						</ul>
						</td>
					</tr>
					<tr>
						<td>Lesson 4:
						 <a href="https://github.com/tianocore-docs/Training/raw/master/Online/lesson4/Lesson_4_Firmware.zip"> Zip File**</a>

						</td>
						<td>
						<b>Lesson 4: Firmware and Data Storage</b><BR>
						When you complete this lesson, you will be able 
						to:
						<ul>
							<li>Define Firmware Storage, Firmware Files, 
							Firmware File Systems, and Firmware Volumes and 
							explain their hierarchical relationship. </li>
							<li>Define Terse Image </li>
							<li>Explain why using a Terse Image is more 
							beneficial than using a UEFI Image </li>
							<li>Locate firmware storage in a physical memory 
							map </li>
							<li>Load drivers from a non-flash location </li>
						</ul>
						</td>
					</tr>
					<tr>
						<td>Lesson 5:
						 <a href="https://github.com/tianocore-docs/Training/raw/master/Online/lesson5/Lesson_5_BDS_HII.zip"> Zip File**</a>

						</td>
						<td>
						<b>Lesson 5: Boot Device Selection (BDS) and Human Interface Infrastructure (HII)</b><BR>
						When you complete this lesson, you will be able 
						to:
						<ul>
							<li>Explain the primary steps of the BDS Phase 
							</li>
							<li>Define BDS’s goals </li>
							<li>Identify BDS’ functions and components </li>
							<li>Define global defined variables </li>
							<li>Identify a UEFI device path </li>
							<li>Search for handles in the handle database 
							</li>
							<li>Define HII and identify its components </li>
							<li>Explain how data communicates with HII, the 
							user, and UEFI drivers </li>
							<li>Identify the functions of the HII database 
							</li>
							<li>Define Visual Forms Representation (VFR) 
							</li>
							<li>Define Internal Forms Representation (IFR) 
							</li>
							<li>Select Data from Forms Using HII </li>
						</ul>
						</td>
					</tr>
				</table>
			</div>