System Tools For Broxton APL_System_Tools_User_Guide_TXE 3_0_Rev 1.0 APL User Guide TXE 3 0 Rev
User Manual: APL_System_Tools_User_Guide_TXE 3_0_Rev 1.0
Open the PDF directly: View PDF
.
Page Count: 90
| Download | |
| Open PDF In Browser | View PDF |
System Tools for Apollo Lake:
Intel® Trusted Execution
Environment 3.0
User Guide
June 2016
Revision: 1.0 Release
Intel Confidential
You may not use or facilitate the use of this document in connection with any infringement or other legal analysis concerning
Intel products described herein. You agree to grant Intel a non-exclusive, royalty-free license to any patent claim thereafter
drafted which includes subject matter disclosed herein.
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service
activation. Learn more at Intel.com, or from the OEM or retailer.
No computer system can be absolutely secure. Intel does not assume any liability for lost or stolen data or systems or any
damages resulting from such losses.
The products described may contain design defects or errors known as errata which may cause the product to deviate from
published specifications. Current characterized errata are available on request.
Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness
for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or
usage in trade.
Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service
activation. Learn more at intel.com, or from the OEM or retailer.
All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest Intel
product specifications and roadmaps.
Copies of documents which have an order number and are referenced in this document may be obtained by calling 1-800-5484725 or visit www.intel.com/design/literature.htm.
By using this document, in addition to any agreements you have with Intel, you accept the terms set forth below.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Intel, vPro and the Intel logo are trademarks of Intel Corporation in the U.S. and other countries.
*Other names and brands may be claimed as the property of others.
Copyright © 2016, Intel Corporation. All rights reserved.
2
Intel Confidential
Contents
1
Introduction ...................................................................................................... 8
1.1
1.2
2
Terminology ........................................................................................... 8
Reference Documents............................................................................ 11
Preface ........................................................................................................... 12
2.1
Overview ............................................................................................. 12
2.2
Image Editing Tools .............................................................................. 12
2.3
Manufacturing Line Validation Tool .......................................................... 12
2.4
Intel® TXE Setting Checker Tool ............................................................. 13
2.5
Operating System Support ..................................................................... 13
Windows* 10 DT 32-bit will be supported post TTM.... Error! Bookmark not defined.
2.6
Generic System Requirements ................................................................ 13
2.7
Error Return ......................................................................................... 14
2.8
Usage of the Double-Quote Character (") ................................................. 14
2.9
PMX Driver Limitation ............................................................................ 14
3
Intel® Flash Image Tool (Intel® FIT) ................................................................... 16
3.1
3.2
3.3
4
System Requirements ........................................................................... 16
Required Files....................................................................................... 16
Intel® FIT ............................................................................................ 16
3.3.1
Configuration Files ................................................................... 17
3.3.2
Creating a New Configuration .................................................... 17
3.3.3
Opening an Existing Configuration ............................................. 17
3.3.4
Saving a Configuration ............................................................. 17
3.3.5
Environment Variables ............................................................. 17
3.3.6
Image Build Settings ................................................................ 20
3.3.7
DnX Build Settings ................................................................... 21
3.3.8
Target Platform and Flash Settings ............................................ 22
3.3.9
Flash Layout Tab ..................................................................... 22
3.3.10 Flash Settings Tab ................................................................... 23
3.3.11 Platform Protection .................................................................. 25
3.3.12 Integrated Sensor Hub ............................................................. 26
3.3.13 Download and Execute ............................................................. 26
3.3.14 GPIO Profiles........................................................................... 26
3.3.15 End Of Manufacturing State ...................................................... 27
3.3.16 Platform Configuration Tab ....................................................... 27
3.3.17 Other Configuration Tabs .......................................................... 27
3.3.18 Building a Flash Image ............................................................. 27
3.3.19 Decomposing an Existing Flash Image ........................................ 28
3.3.20 Command Line Interface .......................................................... 28
3.3.21 Example – Decomposing an Image and Extracting Parameters ...... 30
Flash Programming Tool ................................................................................... 32
4.1
4.2
4.3
4.4
4.5
4.6
System Requirements ........................................................................... 32
Microsoft Windows* Required Files .......................................................... 32
EFI Required Files ................................................................................. 33
Programming the Flash Device ............................................................... 33
Programming CVARS ............................................................................. 34
Usage .................................................................................................. 34
Intel Confidential
3
4.7
4.8
5
Intel® TXEManuf and TXEManufWin .................................................................... 42
5.1
5.2
5.3
5.4
5.5
6
Fparts.txt File ....................................................................................... 38
Examples ............................................................................................. 39
4.8.1
Complete SPI Flash Device Burn with Binary File ......................... 39
4.8.2
Dump full image ...................................................................... 39
4.8.3
Display SPI Information............................................................ 39
4.8.4
Verify Image with Errors ........................................................... 39
4.8.5
Verify Image Successfully ......................................................... 40
4.8.6
Get Intel® TXE settings ............................................................ 40
4.8.7
Compare Intel® TXE Settings .................................................... 40
4.8.8
CVAR Configuration File Generation (-cfggen) ............................. 40
Windows* PE Requirements ................................................................... 42
How to Use Intel® TXEManuf .................................................................. 42
Usage .................................................................................................. 43
5.3.1
Host-based Tests ..................................................................... 44
Intel® TXEManuf –EOL Check ................................................................. 44
5.4.1
TXEManuf.cfg File .................................................................... 44
5.4.2
TXEManuf –EOL Variable Check ................................................. 44
5.4.3
TXEManuf –EOL Config Check.................................................... 45
5.4.4
Output/Result ......................................................................... 45
Examples ............................................................................................. 45
5.5.1
Example for Consumer Intel® TXE FW SKU ................................. 45
Intel® TXEInfo ................................................................................................. 47
6.1
6.2
6.3
Windows* PE Requirements ................................................................... 47
Usage .................................................................................................. 47
Examples ............................................................................................. 51
6.3.1
Intel® TXE FW SKU .................................................................. 51
6.3.2
Retrieve the Current Value of the Flash Version ........................... 52
7
Intel® Platform Flash Tool ................................................................................. 53
8
Intel® Manifest Extension Utility (MEU) ............................................................... 54
8.1
8.2
8.3
8.4
8.5
8.6
8.7
8.8
8.9
8.10
Introduction ......................................................................................... 54
Intel MEU XML ...................................................................................... 54
Intel MEU Configuration ......................................................................... 55
8.3.1
Signing Tool Configuration ........................................................ 55
8.3.2
LZMA Compression Tool ........................................................... 56
8.3.3
User Path Variables .................................................................. 56
Supported Binary Formats ..................................................................... 57
8.4.1
Binary Types ........................................................................... 57
8.4.2
Example: OEM Key Manifest Creation ......................................... 58
Creating a Public Key Hash: ................................................................... 58
8.5.1
Example: Key Hash Generation ................................................. 59
Decomposing a Binary ........................................................................... 59
Resigning a Binary ................................................................................ 60
Exporting a Manifest ............................................................................. 61
Importing a Manifest ............................................................................. 61
Command Line Options .......................................................................... 62
9
Widevine* KeyBox Provisioning Procedure .......................................................... 63
Appendix A
Intel® TXE CVARs ............................................................................................ 65
4
Intel Confidential
Appendix B
Tool Detail Error Codes ..................................................................................... 69
B.1
Common Error Code for All Tools ....................................................................... 69
B.2
Firmware Update Errors .................................................................................... 75
B.3
Intel® TXEManuf Errors .................................................................................... 76
B.4
Intel® TXEINFO Errors ...................................................................................... 80
B.5
FPT Errors....................................................................................................... 81
B.6
MEU Errors ..................................................................................................... 83
Appendix C
Tool Option Dependency on BIOS/Intel® TXE Status ............................................ 85
Appendix D
: Using Local Android* Intel® TXE System Tools ................................................. 86
D.1
Using Android* System Tools ............................................................................ 86
D.2
Setup & Install ADB and Fastboot ...................................................................... 86
D.3
Using Fastboot ................................................................................................ 86
D.4
How to Push & Use the Intel® TXE System Tools ................................................. 86
Appendix E
: Google* Widevine for Intel® TXE .................................................................... 88
E.1
Creating Widevine* CEK (Customer Encryption Key) ............................................ 88
E.1.1
FITC CEK File Creation Procedure....................................................................... 88
E.1.1.1
Cleartext CEK .................................................................................................. 88
E.1.1.2
Ciphertext CEK ................................................................................................ 89
E.2
Constructing Widevine* Provisioning KeyBox File ................................................. 90
E.2.1
KeyBox Creation Procedure ............................................................................... 90
Figures
Figure
Figure
Figure
Figure
Figure
Figure
Figure
3-1.
3-2.
3-3.
3-4.
3-5.
3-6.
3-7.
Environment Variables in Build Settings Dialog ................................... 18
Image Build Settings in Build Settings Dialog ...................................... 21
DnX Build Settings in Build Settings Dialog Error! Bookmark not defined.
Flash Layout Tab ............................................................................. 23
Add VSCC Table Entry Dialog ............................................................ 24
Deleting VSCC Table Entry Dialog ...................................................... 25
Platform Protection Tab .................................................................... 26
Tables
Table
Table
Table
Table
Table
2-1: OS Support for Tools ........................................................................ 13
3-1. Environment Variables Options........................................................... 18
3-2: Build Settings Dialog Options ............................................................. 20
3-3: DnX Build Settings Dialog Options ...................................................... 21
3-4: Target Platform and Flash Options ...................................................... 22
Intel Confidential
5
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
6
3-5. Key Platform Protection Fields ............................................................ 25
3-6. DnX Fields ....................................................................................... 26
3-7. Intel FIT Command Line Options ........................................................ 28
4-1: FPT OS Requirements ....................................................................... 33
4-2. Named Variables Options .................................................................. 34
4-3. Command Line Options for fpt.efi, fpt.exe and fptw.exe ........................ 34
4-4. FPT –closemnf Behavior .................................................................... 38
5-1: Options for the Tool .......................................................................... 43
5-2: TXEManuf - EOL Config Tests ............................................................. 45
6-1. Intel® TXEInfo Command Line Options ................................................ 47
6-2. List of Components that Intel® TXEINFO Displays ................................. 48
Intel Confidential
Revision History
Revision Number
Description
0.3
Pre-Alpha Release
0.4
Updated OS matrix with Linux library support
0.6
Alpha version release
0.7
Updated OS matrix with Win10 32-bit support
Revision Date
September 2015
October 2015
Added details to MEU on key hash generation
0.8
Updated OS matrix
November 2015
Updated MEU error codes, and additional functionality
0.81
Removed CommitFPF command, updated details of –
TXE flag, updated details of –CLOSEMNF flag
January 2016
Windows 10 DT 32-bit will be supported post-TTM
Updated FIT settings location, based on Beta build
locations. Added note about Disable Boot Source FPFs.
Multiple minor clarfications and corrections
0.85
Added Appendix on using Local Android* Intel® System
Tools
April 2016
Added chapter and Appendix on Google Widevine
provisioning and processes
Added usage of –ISH –fwstat combination flag in Intel®
TXEInfo
Removal of Win10 32-bit OS support from all tools,
impacting Win10 PE 32-bit and EFI Shell 32 bit as well
Removed NFC flags from tools
1.0
Removed all mention of Broxton
July 2016
§§
Intel Confidential
7
Introduction
1
Introduction
The purpose of this document is to describe the tools that are used in the platform
design, manufacturing, testing, and validation process.
1.1
Terminology
Acronym/Term
AC
Alternating Current
Agent
Software that runs on a client PC with OS running
API
Application Programming Interface
BIN
Binary file
BIOS
Basic Input Output System
BIOS-FW
Basic Input Output System Firmware
BIST
Built In Self-Test
CLI
Command Line Interface
CRB
Customer Reference Board
CVAR
Changeable Variable
DLL
Dynamic Link Library
DNS
Domain Naming System
DnX
Download and Execute Technology
EC
Embedded Controller
EFI
Extensible Firmware Interface
EHCI
Enhanced Host Controller Interface
End User
The person who uses the computer (either Desktop or Mobile). The
user usually may not have administrator privileges.
EOP
End Of Post
Intel® FIT
Intel® Flash Image Tool
FLOCKDN
Flash Configuration Lock-Down
FOV
Fixed Offset Variable
Intel FPT
Intel® Flash Programming Tool
FQDN
Fully Qualified Domain Name
FW
Firmware
G3
A system state of Mechanical Off where all power is disconnected from
the system. A G3 power state does not necessarily indicate that RTC
power is removed.
GPIO
General Purpose Input/output
®
8
Definition
Intel Confidential
Introduction
Acronym/Term
Definition
GUI
Graphical User Interface
GUID
Globally Unique Identifier
HECI
(deprecated)
Host Embedded Controller Interface
Host or Host CPU
The processor running the operating system. This is different than the
processor running the Intel® TXE FW.
Host Service/
Application
An application running on the host CPU
HW
Hardware
IBV
Independent BIOS Vendor
ICC
Integrated Clock Configuration
ID
Identification
INF
An information file (.inf) used by Microsoft operating systems that
support the Plug & Play feature. When installing a driver, this file
provides the OS with the necessary information about driver filenames,
driver components, and supported hardware.
Intel® DAL
Intel® Dynamic Application Loader (Intel® DAL)
Intel® TXE
Intel® Trusted Execution Engine. The embedded processor residing in
the chipset MCH.
Intel® TXEI driver
Intel® TXE host driver that runs on the host and interfaces between
ISV Agent and the Intel® TXE HW.
ISV
Independent Software Vendor
IT User
Information Technology User. Typically very technical and uses a
management console to ensure multiple PCs on a network function.
LAN
Local Area Network
LED
Light Emitting Diode
LPC
Low Pin Count Bus
CM0
Intel® TXE power state where all HW power planes are activated. Host
power state is S0.
CM1
Intel® TXE power state where all HW power planes are activated but
the host power state is different than S0. (Some host power planes are
not activated.) The Host PCI-E* interface is unavailable to the host SW.
This power state is not available in Cougar Point.
CM3
Intel® TXE power state where all HW power planes are activated but
the host power state is different than S0. (Some host power planes are
not activated.) The Host PCI-E* interface is unavailable to the host SW.
The main memory is not available for Intel® TXE use.
CM-Off
No power is applied to the processor subsystem. Intel® TXE is shut
down.
MAC address
Media Access Control address
MCP
Multi-Chip Package (Central Processing Unit / Platform Controller Hub)
Intel Confidential
9
Introduction
Acronym/Term
Definition
NM
Number of Masters
NVM
Non-Volatile Memory
NVRAM
Non-Volatile Random Access Memory
ODM
Original Device Manufacturer
OEM
Original Equipment Manufacturer
OEM ID
Original Equipment Manufacturer Identification
OS
Operating System
OS Hibernate
OS state where the OS state is saved on the hard drive.
OS not
Functional
The Host OS is considered non-functional in Sx power state in any one
of the following cases when the system is in S0 power state:
OS is hung
After PCI reset
OS watch dog expires
OS is not present
10
PAVP
Protected Video and Audio Path
PC
Personal Computer
PCI
Peripheral Component Interconnect
PCIe
Peripheral Component Interconnect Express
PHY
Physical Layer
PID
Provisioning ID
PKI
Public Key Infrastructure
PM
Power Management
ROM
Read Only Memory
RSA
A public key encryption method
RTC
Real Time Clock
S0
A system state where power is applied to all HW devices and the
system is running normally.
S1, S2, S3
A system state where the host CPU is not running but power is
connected to the memory system (memory is in self refresh).
S4
A system states where the host CPU and memory are not active.
S5
A system state where all power to the host system is off but the power
cord is still connected.
SDK
Software Development Kit
SHA
Secure Hash Algorithm
SMBus
System Management Bus
SPI
Serial Peripheral Interface
SPI Flash
Serial Peripheral Interface Flash
Intel Confidential
Introduction
Acronym/Term
1.2
Definition
Sx
All S states which are different than S0
SW
Software
System States
Operating System power states such as S0, S1, S2, S3, S4, and S5.
UI
User Interface
UMA
Unified Memory Access
Un-configured
state
The state of the Intel® TXE FW when it leaves the OEM factory. At this
stage the Intel® TXE FW is not functional and must be configured.
USB
Universal Serial Bus
VSCC
Vendor Specific Component Capabilities
Windows* PE
Windows* Pre installation Environment
XML
Extensible Markup Language.
Reference Documents
Document
Document No./Location
Apollo Lake- Intel®Trusted Execution
Engine (Intel®TXE) Firmware Bring-Up
Guide
Release kit
EDS
CDI
Apollo Lake Soc SPI and Signed Master
Image Profile(SMIP) Programming Guide
Release kit
Apollo Lake Signing and Manifesting
Guide
Release kit
§§
Intel Confidential
11
Preface
2
Preface
2.1
Overview
This document covers the system tools used for creating, modifying, and writing
binary image files, manufacturing testing, Intel® TXE setting information gathering,
and Intel® TXE FW updating. The tools are located in Kit directory\Tools\System
tools. For information about other tools, see the tool's user guides in the other
directories in the FW release.
The system tools described in this document are platform specific in the following
ways:
2.2
Apollo Lake (APL) platforms – All tools in the Apollo Lake FW release kit are
designed for Apollo Lake platforms only. These tools do not work properly on any
other legacy platforms. Tools designed for other platforms also do not work
properly on the Apollo Lake platforms.
Intel® TXE Firmware 3.0 SKU – The tools are provided for the Intel® TXE FW 3.0
SKUs.
Image Editing Tools
The following tools create and write flash images:
Intel® FIT:
Combines the BIOS, Intel® TXE FW and other binaries into one image.
Configures SMIPs and CVARs for Intel® TXE settings that can be
programmed by a flash programming device or the FPT Tool.
FPT:
Programs the SPI flash memory of individual regions or the entire SPI
flash device.
Modifies some Intel® TXE settings (CVAR) after Intel® TXE is flashed on
the flash memory part.
2.3
Platform Flash Tool (using DnX)
Manufacturing Line Validation Tool
The manufacturing line validation tool (Intel® TXEManuf) allows the Intel® TXE
functionality to be tested immediately after the chipset is generated. This tool is
designed to be able to run quickly. It can run on simple operating systems, such as
EFI, Windows* 98. The Windows* version is written to run on Windows* 7, Windows*
8.1 and Win* PE 32 and 64. This tool is mostly run on the manufacturing line to do
manufacturing testing.
12
Intel Confidential
Preface
2.4
Intel® TXE Setting Checker Tool
The Intel® TXE setting checker tool (Intel® TXEInfo) retrieves and displays information
about some of the Intel® TXE settings, the Intel® TXE FW version, and the FW
capability on the platform.
2.5
Operating System Support
Windows 10 Mobile
Android M Dessert 64 bit (both user and
kernel 64 bit)
Fedora /RedHat * Linux (Glibc 2.19, Kernel
3.18.20) 64bit
X
X
X
Intel® TXEManuf Tool
X
X
X
X
X
X
X
X
X
Intel® TXE Info Tool
X
X
X
X
X
X
X
X
X
X
Windows* 10 DT 64bit
X
X
Windows* PE 5.1 64bit
X
Windows 8.1 64bit
X
X
Windows* 8.1 32bit
X
X
Windows* PE 3.1 64bit
X
Windows* 7 SP1 64bit
X
Intel® Flash Image Tool
Windows * 7 SP1 32bit
Intel Flash
Programming Tool
Intel® TXE and
Manufacturing
Tools
EFI Shell 64 bit
Windows * 10 PE 64bit
Table 2-1: OS Support for Tools
X
®
2.6
Manifest Extension Tool
X
X
X
X
Platform Flash Tool and
Token Manager Tool
X
X
X
X
X
X
Generic System Requirements
The installation of the following driver is required by integration validation tools that
run locally on the system under test with the Intel® TXE:
Intel® TXEI driver.
See the description of each tool for its exact requirements.
Intel Confidential
13
Preface
2.7
Error Return
Intel® FIT and Intel® MEU return a non-0 number on an error, and the final error code
is printed.
Other tools return 0/1/2 for the error level (0 = success, 1= error, 2 = Success with
warning). A detailed error code is displayed on the screen and stored on an error.log
file in the same directory as the tools. (See Appendix B for a list of these error codes.)
2.8
Usage of the Double-Quote Character (")
The EFI version of the tools handle multi-word argument is different than the
DOS/Windows* version. If there is a single argument that consists of multiple words
delimitated by spaces, the argument needs to be entered as following:
FPT.efi –f “” arguments ””.
The command shell used to invoke the tools in EFI and Windows* has a built-in CLI.
The command shell was intended to be used for invoking applications as well as
running in batch mode and performing basic system and file operations. For this
reason, the CLI has special characters that perform additional processing upon
command.
The double-quote is the only character which needs special consideration as input. The
various quoting mechanisms are the backslash escape character (/), single-quotes ('),
and double-quotes ("). A common issue encountered with this is the need to have a
double-quote as part of the input string rather than using a double-quote to define the
beginning and end of a string with spaces.
For example, the user may want these words – one two – to be entered as a single
string for a vector instead of dividing it into two strings ("one", "two"). In that case,
the entry – including the space between the words – must begin and end with doublequotes ("one two") in order to define this as a single string.
When double-quotes are used in this way in the CLI, they define the string to be
passed to a vector, but are NOT included as part of the vector. The issue encountered
with this is how to have the double-quote character included as part of the vector as
well as bypassed during the initial processing of the string by the CLI. This can be
resolved by preceding the double-quote character with a backslash (\").
For example, if the user wants these words to be input – input"string – the command
line is: input\"string.
2.9
PMX Driver Limitation
Several tools (Intel® TXEInfo, Intel® TXEInfo, and Intel® FPT) use the PMX library to
get access to the PCI device. Only one tool can get access to the PMX library at a time
because of library limitation. Therefore, running multiple tools to get access to PMX
library will result in an error (failure to load driver).
The PMX driver is not designed to work with the latest Windows* driver model (it does
not conform to the new driver's API architecture).
14
Intel Confidential
Preface
In Windows* 7 (and higher), the verifier sits in kernel mode, performing continual
checks or making calls to selected driver APIs with simulations of well-known driver
related issues.
Warning: Running the PMX driver with the Windows* 7 (and higher) driver verifier turned on
causes the OS to crash. Do not include PMX as part of the verifier driver list if the user
is running Windows* 7 (and higher) with the driver verifier turned on.
§§
Intel Confidential
15
Intel® Flash Image Tool (Intel® FIT)
3
Intel® Flash Image Tool (Intel®
FIT)
The Intel® Flash Image Tool (Intel® FIT) creates and configures a complete SPI, eMMc
or UFS flash image file for Apollo Lake platforms in the following way:
1. Intel FIT creates and allows configuration of the SPI Flash Descriptor Region,
which contains configuration information for platform hardware and FW (SPI
images only)
2. Intel FIT assembles the following into a single firmware image:
BIOS
IUnit
PMC
uCode
Intel® TXE
SMIP configuration settings
Manifest files
SPI Flash Descriptor Region (SPI images only)
3. The user can manipulate the firmware image before its generation via a GUI or
xml file and change the various chipset parameters to match the target hardware.
Various configurations can be saved to independent files, so the user does not
have to recreate a new image each time.
Intel FIT supports a set of command line parameters that can be used to build an
image from the CLI or from a makefile. When a previously stored configuration is used
to define the image layout, the user does not have to interact with the GUI.
Note: Intel FIT just generates a complete firmware image file; it does not program the flash
device. This complete firmware image must be programmed into the flash with Intel®
FPT, DnX, any third-party flash burning tool, or some other flash burner device.
3.1
System Requirements
Intel® FIT runs on the OSs described in section 2.5. The tool does not have to run on
an Intel® TXE-enabled system.
3.2
Required Files
The Intel FIT main executable is FIT.exe. The following files must be in the same
directory as FIT.exe:
3.3
vsccommn.bin
Intel® FIT
See the following for further information:
16
Intel Confidential
Intel® Flash Image Tool (Intel® FIT)
3.3.1
General configuration information – See the FW Bring Up Guide from the
appropriate Intel® TXE FW kit.
Detailed information on how to configure SPI descriptor and SMIPs – See Apollo
Lake Soc SPI and Signed Master Image Profile(SMIP) Programming Guide.
Configuration Files
The flash image can be configured in many different ways, depending on the target
hardware and the required FW options. Intel FIT lets the user change this
configuration in a graphical manner (via the GUI). Each configuration can be saved to
an XML file. These XML files can be loaded at a later time and used to build
subsequent flash images.
3.3.2
Creating a New Configuration
Intel FIT provides a XML configuration file template that will help the user can use to
create their own configuration XML. This template configuration XML file can be
created by clicking File > New and then save. It can also be created from the
command line using –save option.
3.3.3
Opening an Existing Configuration
To open an existing configuration file:
1. Choose File > Open; the Open File dialog appears.
2. Select the XML file to load
3. Click Open.
Note: The user can also open a file by dragging and dropping a configuration file into the
main window of the application.
3.3.4
Saving a Configuration
To save the current configuration in an XML file:
Choose File > Save or File > Save As; the Save File dialog appears if the
configuration has not been given a name or if File > Save As was chosen.
1. Select the path and enter the file name for the configuration.
2. Click Save.
3.3.5
Environment Variables
A set of environment variables is provided to make the image configuration files more
portable. The configuration is not tied to a particular root directory structure because
all of the paths in the configuration are relative to environment variables. The user
can set the environment variables appropriate for the platform being used, or override
the variables with command line options.
It is recommended that the environment variables be the first thing that the user sets
when working with a new configuration. This ensures that Intel FIT can properly
substitute environment variables into paths to keep them relative. Doing this also
speeds up configuration because many of the Open File dialogs default to particular
environment variable paths.
Intel Confidential
17
Intel® Flash Image Tool (Intel® FIT)
To modify the environment variables:
1. Choose Build > Build Settings; a dialog appears displaying the current working
directory on top, followed by the current values of all the environment variables:
Table 3-1. Environment Variables Options
Option
Description
$WorkingDir
the directory functions as a basic path variable when modified in the
GUI. If $WorkingDir CLI flag is used when launching FIT GUI, then
the fit.log will be created in $WorkingDir directory.
$SourceDir
the directory that contains the base image binary files from which a
complete flash image is prepared. Usually these base image binary
files are obtained from Intel® VIP on the Web, a BIOS programming
resource, or another source.
$DestDir
the directory in which the final combined image is saved, as well as
intermediate files generated during the build. Also the directory
where the components of an image are stored when an image is
decomposed.
$UserVar1-3
used when the above variables are not populated
Figure 3-1. Environment Variables in Build Settings Dialog
18
Intel Confidential
Intel® Flash Image Tool (Intel® FIT)
2. Click the
button next to an environment variable and select the directory
where that variable's files will be stored; the name and relative path of that
directory appears in the field next to the variable's name.
3. Repeat Step 2 until the directories of all relevant environment variables have been
defined.
4. Click OK.
5. The environment variables are saved in the XML file. They can be overridden on
the command line if using the XML file on multiple systems.
Intel Confidential
19
Intel® Flash Image Tool (Intel® FIT)
3.3.6
Image Build Settings
Intel FIT lets the user set several options that control how the image is built. The
options that can be modified are described in Table 3-2.
To modify the build setting:
1. Choose Build > Build Settings; a dialog appears showing the current build
settings.
2. Modify the relevant settings in the Build Settings dialog.
3. Click OK; the modified build settings are saved in the XML configuration file.
Table 3-2: Build Settings Dialog Options
Option
20
Description
Output filename
The path and filename where the final image should be saved
after it is built. (Note: Using the $DestDir environment
variable makes the configuration more portable.)
Generate intermediate build
files
Causes the application to generate separate (intermediate)
binary files, in addition to the final image file. These files are
located in the specified output folder's INT subfolder.
Enable Boot Guard Warning
message at build time
Enables Boot Guard warning messages at build time
Enable Intel® Platform Trust
Technology messages at
build time
Enables Intel® Platform Trust Technology warning messages at
build time
Target Type
If building an SPI/eMMc/UFS image
IFWI Build Version
32-bit value to use as the IFWI build version number
Manifest Extension Utility
Path
Path to the Intel MEU application, which creates and adds a
manifest to the SMIP data
Signing Tool Path
Path to the signing tool (normally OpenSSL), to sign the SMIP
data
Signing Tool
Name of the signing tool (normally OpenSSL) to sign the SMIP
data
Intel Confidential
Intel® Flash Image Tool (Intel® FIT)
Figure 3-2. Image Build Settings in Build Settings Dialog
3.3.7
DnX Build Settings
Intel FIT lets the user set several options that control if and how a DnX image is built.
The options that can be modified are described in Table 3-2.
NOTE: In early versions of the tool, these settings are visible in the DnX tab of the
tool, and not the Build Settings Dialog.
To modify the build setting:
1. Choose Build > Build Settings; a dialog appears showing the current build
settings.
2. Modify the relevant settings in the Build Settings dialog.
3. Click OK; the modified build settings are saved in the XML configuration file.
Table 3-3: DnX Build Settings Dialog Options
Option
Description
Build DnX
image
Should Intel FIT build a DnX image
DnX Output
Filename
The path and filename where the final DnX image should be saved after it is
built. (Note: Using the $DestDir environment variable makes the configuration
more portable.)
Intel Confidential
21
Intel® Flash Image Tool (Intel® FIT)
Option
3.3.8
Description
Signing Key
Private key for signing the DnX image. Must be the same private key used to
sign the OEM Key Manifest, and whose public key hash is entered into OEM
Public Key Hash field in Platform Protection tab, and which gets burned to an
FPF.
Platform ID
Platform ID that DnX uses to verify the image is suitable for the platform.
OEM ID
OEM ID that DnX uses to verify the image is suitable for the platform.
Target Platform and Flash Settings
Intel FIT lets the user define the target platform and flash type of the final image.
These options are displayed in drop-down combo boxes on the toolbar.
NOTE: In early versions of the tool, the Flash Type setting is visible in the Build
Settings Dialog.
Table 3-4: Target Platform and Flash Options
Combo
3.3.9
Options
Target Platform
Apollo Lake
Flash Type
eMMc / UFS / SPI
Flash Layout Tab
The Flash Layout tab contains information about the various binaries that need to be
stitched together in the final image. It allows uploading the paths of these binaries
that need to be present on the same system as Intel FIT. During image compilation,
these binary files are stitched into the image.
22
Intel Confidential
Intel® Flash Image Tool (Intel® FIT)
Figure 3-3. Flash Layout Tab
3.3.10
Flash Settings Tab
The Flash Settings tab contains information about the flash image and the target
hardware. It is important for this region to be configured correctly or the target
computer may not function as expected. This region also needs to be configured
correctly in order to ensure that the system is secure. Most of the settings here are
relevant only to SPI images, but there are also some settings relevant to eMMc or
UFS. Based on the selections in the Target Platform and Flash combo boxes, only
relevant fields will be editable.
There is a section in this tab called “Boot Source Selection” which enables the setting
of FPFs to disable boot sources that the platform will not support. Note that while
setting these FPFs can speed platform boot, since they are burned to fuses at End of
Manufacture, the system can then never be changed to boot from a different boot
source.
3.3.10.1
SPI Region Access Control
Regions of the SPI flash can be protected from read or write access by setting a
protection parameter in the Descriptor Region. The Descriptor Region must be locked
before Intel® TXE devices are shipped. If the Descriptor Region is not locked, the
Intel® TXE device is vulnerable to security attacks. The level of read/write access
provided is at the discretion of the OEM/ODM. Intel FIT gives 3 options for access
control
full access, which is suitable for pre-production images
Intel recommended settings, which lock the regions based on the
recommendations in the APL SPI and SMIP Programming Guide, allowing host
OS access to the PDR region.
Intel recommended settings, which lock the regions based on the
recommendations in the APL SPI and SMIP Programming Guide, forbidding
host OS access to the PDR region.
Intel Confidential
23
Intel® Flash Image Tool (Intel® FIT)
3.3.10.2
SPI VSCC Table
This section is used to store information to setup SPI flash access for Intel® TXE. This
does not have any effect on the usage of the FPT. If the information in this section
is incorrect, Intel® TXE FW may not communicate with the flash device. The
information provided is dependent on the flash device used on the system. (For more
information, see the Apollo Lake Soc SPI and Signed Master Image Profile(SMIP)
Programming Guide, Section 6.4.)
VSCC Table can be accessed:
1. Select Flash Settings Tab on the left pan
2. Expand VSCC Entries on the right pan as shown in Figure 9 below:
3.3.10.3
Adding a New Table
To add a new table:
1. Choose
on top left > VSCC Entry.
Figure 3-4. Add VSCC Table Entry Dialog
2. Enter a name into the Entry Name field. (Note: To avoid confusion it is
recommended that each table entry name be unique. There is no checking
mechanism in Intel FIT to prevent table entries that have the same name and no
error message is displayed in such cases.)
3. User can enter into the values for the flash device.
NOTES: The VSCC register value will be automatically populated by Intel FIT using the
vsccommn.bin file the appropriate information for the Vendor and Device ID.
NOTES: If the descriptor region is being built manually the user will need to reference the VSCC
table information for the parts being supported from the manufacturers’ serial flash data
sheet. The Apollo Lake SPI Programming Guide should be used to calculate the VSSC
values.
3.3.10.4
Removing an Existing VSCC Table
To remove an existing table:
1. Click on the name of the table in the top tab that the user wants to remove as
shown in Figure 12.
24
Intel Confidential
Intel® Flash Image Tool (Intel® FIT)
Figure 3-5. Deleting VSCC Table Entry Dialog
2. Click close; the table and all of the information will be removed.
3.3.11
Platform Protection
This tab includes many settings relating to the protection of the platform, and its
integrity. In particular, it includes
Table 3-5. Key Platform Protection Fields
Option
Description
SMIP
signing key
This is the path to the private key used to sign the SMIP, while public key hash
of it is included in the OEM hash manifest.
OEM Public
Key Hash
This option is for entering the raw hash string or certificate file for the SHA-256
hash of the OEM public key corresponding to the private key used to sign the
OEM Key hash manifest. When manufacture is completed, this hash value is
burned into an FPF. This value is used to verify the OEM Key hash, and also
DnX images
OEM Key
Manifest
Binary
Signed manifest file (created by Intel MEU) containing hashes of keys used for
signing components of image
There are also fields for configuring Boot Guard and Intel® PTT.
Intel Confidential
25
Intel® Flash Image Tool (Intel® FIT)
Figure 3-6. Platform Protection Tab
3.3.12
Integrated Sensor Hub
This tab allows the enabling of Integrated Sensor Hub (ISH) in the image, and
inclusion of a binary file for it.
3.3.13
Download and Execute
This tab allows the configuration of settings related to Download and Execute (DnX).
Table 3-6. DnX Fields
Option
DnX Enabled
3.3.14
Description
Permanently enable/disable DnX on the platform. This variable gets burned
into a fuse (FPF) at close of manufacture, and can never be changed after
that.
Platform ID
Platform ID that DnX uses to verify the image is suitable for the platform.
This variable gets burned into a fuse (FPF) at close of manufacture, and
can never be changed after that.
OEM ID
OEM ID that DnX uses to verify the image is suitable for the platform. This
variable gets burned into a fuse (FPF) at close of manufacture, and can
never be changed after that.
USB
configurations
Series of settings for USB for DnX
GPIO Profiles
Intel FIT supports the configuration of up to 5 sets of GPIO profiles, as defined in the
SPI and SMIP programming guide. By default, Intel FIT creates a single profile, further
ones can be added, and extra ones removed, in the same method as VSCC tables are
26
Intel Confidential
Intel® Flash Image Tool (Intel® FIT)
added and removed (see section 3.3.10.2). When building the image, only the first
profile is compiled into the IFWI image. All of the profiles are built as binary files, and
placed in the build output directory. They can be used later by Intel ® FPT to update
the profile in the image to one of the other profiles defined within FIT.
3.3.15
End Of Manufacturing State
In SPI platforms, End of Manufacturing state is implicitly set in the image if the SPI
regions are locked with the flash settings. If the regions are not locked, End of
Manufacturing state can be set during manufacturing using the FPT tool.
On eMMc and UFS platforms, which do not have region locking, End of Manufacturing
state can be explicitly set in the Intel FIT image using a dedicated setting.
This field is un the Intel® TXE Kernel tab, in the ‘Manufacturing Settings’ section, and
is called ‘End of Manufacturing Enable’.
3.3.16
Platform Configuration Tab
The PMIC/VR Configuration option in the Platform Configuration tab is new in APL
platforms. This allows users to select from a dropdown with 4 voltage regulator (VR)
options for the Power Management IC (PMIC) supported on the platform. Selecting the
correct option is critical – the platform will not boot if the wrong one is selected.
3.3.17
Other Configuration Tabs
Intel FIT has multiple other tabs of settings that can be configured. Each one should
be opened, and the settings changed where relevant. In many cases, default values
are provided which can be retained. Each field includes help text clarifying its
meaning.
3.3.18
Building a Flash Image
The flash image can be built with the Intel FIT GUI interface.
To build a flash image with the currently loaded configuration:
Choose Build > Build Image.
– OR –
Specify an XML file with the /b option in the command line.
Intel FIT uses an XML configuration file and the corresponding binary files to build the
SPI flash image. The following is produced when an image is built:
Binary file representing the image
Text file detailing the various regions in the image
Optional set of intermediate files (see Section 5).
Multiple binary files containing the image broken up according to the flash
component sizes (Note: These files are only created if two flash components are
specified.)
Intel Confidential
27
Intel® Flash Image Tool (Intel® FIT)
The individual binary files can be used to manually program independent flash devices
using a flash programmer. However, the user should select the single larger binary file
when using Intel FPT.
3.3.19
Decomposing an Existing Flash Image
Intel FIT is capable of taking an existing flash image and decomposing it in order to
create the corresponding configuration. This configuration can be edited in the GUI
like any other configuration (see below). A new image can be built from this
configuration that is almost identical to the original, except for the changes made to
it.
To decompose an image:
1. Chose File > Open.
2. Change the file type filter to the appropriate file type.
3. Select the required file and click Open; the image is automatically decomposed,
the GUI is updated to reflect the new configuration, and a folder is created with
each of the components in a separate binary file.
Note: It is also possible to decompose an image by simply dragging and dropping the file
into the main window. When decomposing an image, there are some CVARs which will
not be able to be decomposed by Intel FIT. Intel FIT will use Intel default value
instead. User might want to check the log file to find out which CVARs were not
parsed.
Note: The TXE region binary contained in INT folder after image generation only contains the
firmware default base settings for TXE region no Intel FIT customization is applied.
Note: Rebuilding an image requires access to some of the private keys used for SMIP signing
in its initial creation.
3.3.20
Command Line Interface
Intel FIT supports command line options.
To view all of the supported options: Run the application with the -? option.
The command line syntax for Intel FIT is:
fit.exe [-exp] [-h|?] [-version|ver] [-b] [-o] [-f] [-me] [-bios]
[-pdr] [-bios_overlap] [-pmcp] [-ucode1] [-ucode2]
[-iunit] [-ufs_phy] [-sd_token] [-iafw_smip] [-pmc_smip]
[-smip_key] [-meu_path] [-st_path] [-st] [-w] [-s] [-d] [-u1] [-u2] [-u3]
[-i] [-flashcount] [-flashsize1] [-flashsize2] [-save]
Table 3-7. Intel FIT Command Line Options
Option
28
Description
-exp
Displays example usage of the tool
-H or -?
Displays the command line options.
Intel Confidential
Intel® Flash Image Tool (Intel® FIT)
Option
-B
Description
Automatically builds the flash image. The GUI does not
appear if this flag is specified. This option causes the program
to run in auto-build mode. If there is an error, a valid
message is displayed and the image is not built.
If a BIN file is included in the command line, this option
decomposes it.
-O
Path and filename where the image is saved. This command
overrides the output file path in the XML file.
-f
Specifies input file. XML, full image binary, or ME only binary.
-TXE
Overrides the binary source file for the Intel® TXE Region with
the specified binary file.
-BIOS
Overrides the binary source file for the BIOS Region with the
specified binary file.
-pdr
Overrides the binary source file for the PDR region
bios_overlap
Overrides the Bios region overlap setting in the XML file.
-pmcp
Overrides the binary source file for the PMCP region
-ucode1
Overrides the binary source file for the uCode1 patch
-ucode2
Overrides the binary source file for the uCode2 patch
-iunit
Overrides the binary source file for the iUnit region
-ufs_phy
Overrides the binary source file for the UFS PHY
-sd_token
Overrides the binary source file for the Secure Debug Token
-iafw_smip
Overrides the binary source file for the IAFW SMIP
-pmc_smip
Overrides the binary source file for the PMC SMIP
-smip_key
Overrides Key used to sign SMIP sub partition
-meu_path
Overrides path to Manifest Extension Utility
-st_path
Overrides path to Signing tool.
-st
Overrides signing tool setting
-W
Overrides the working directory environment variable
$WorkingDir. It is recommended that the user set these
environmental variables first. (Suggested values can be found
in the OEM Bringup Guide.)
-S
Overrides the source file directory environment variable
$SourceDir. It is recommended that the user set these
environmental variables before starting a project.
-D
Overrides the destination directory environment variable
$DestDir. It is recommended that the user set these
environmental variables before starting a project.
-U1
Overrides the $UserVar1 environment variable with the value
specified. Can be any value required.
-U2
Overrides the $UserVar2 environment variable with the value
specified. Can be any value required.
Intel Confidential
29
Intel® Flash Image Tool (Intel® FIT)
Option
Description
-U3
Overrides the $UserVar3 environment variable with the value
specified. Can be any value required.
-I
Enables or disables intermediate file generation.
-FLASHCOUNT <0, 1 or 2>
Overrides the number of flash components in the Descriptor
Region. If this value is zero, only the Intel® TXE Region is
built.
-FLASHSIZE1 <0, 1, 2, 3, 4,
5, 6 or 7>
Overrides the size of the first flash component with the size of
the option selected as follows:
0 = 512KB
1 = 1MB
2 = 2MB
3 = 4MB
4 = 8MB
5 = 16MB
6 = 32MB
7 = 64MB
-FLASHSIZE2 <0, 1, 2, 3, 4,
5, 6 or 7>
Overrides the size of the first flash component with the size of
the option selected as follows:
0 = 512KB
1 = 1MB
2 = 2MB
3 = 4MB
4 = 8MB
5 = 16MB
6 = 32MB
7 = 64MB
-Save
3.3.21
Saves the XML file.
Example – Decomposing an Image and Extracting
Parameters
The CVARS variables and the current value parameters of an image can be viewed by
dragging and dropping the image into the main window, which then displays the
current values of the image's parameters.
An image's parameters can also be extracted by entering the following commands into
the command line:
fit.exe -f output.bin -save output.xml
This command would create a folder named "output". The folder contains the
individual region binaries and the Map file.
The xml file contains the current Intel® TXE parameters.
The Map file contains the start, end, and length of each region.
30
Intel Confidential
Intel® Flash Image Tool (Intel® FIT)
Note: If using paths defined in the kit, be sure to put "" around the path as the spaces cause
issues.
Note: The TXE override option changes the TXE base used on command line but still uses
the values from the xml or binary passed in.
§§
Intel Confidential
31
Flash Programming Tool
4
Flash Programming Tool
The FPT is used to program a complete SPI image into the SPI flash device(s).
On SPI flash only, FPT can program each region individually or it can program all of
the regions with a single command. The user can also use FPT to perform various
functions such as:
View the contents of the flash on the screen.
Write the contents of the flash to a log file.
Perform a binary file to flash comparison.
Write to a specific address block.
Note: For proper function in a Multi-SPI configuration the Block Erase, Block Erase
Command and Chip Erase must all match.
On all flash types, the user can also use FPT to Program Named variables.
4.1
System Requirements
The EFI versions of FPT (fpt.efi) run on a 32-bit or 64-bit EFI environment. Ensure to
take the respective binary from within the kit.
The Windows* versions (fptw.exe and fptw64.exe) run on a 32-bit or 64-bit EFI
environment. The Windows* 64 bit version (fptw64.exe) is designed for running in
native 64 bit OS environment which does not have 32 bit compatible mode available
for example Windows*PE 64. Both versions require administrator privileges to run
under Windows* OS. The user needs to use the Run as Administrator option to
open the CLI.
FPT requires that the platform is bootable (i.e. working BIOS) and an operating
system to run on. It is designed to deliver a custom image to a computer that is
already able to boot and is not a means to get a blank system up and running. FPT
must be run on the system with the flash memory to be programmed.
One possible workflow for using FPT is:
1. A pre-programmed flash with a bootable BIOS image is plugged into a new
computer.
2. The computer boots.
3. FPT is run and a new IFWI image is written to flash.
4. The computer powers down.
5. The computer powers up, boots, and is able to access its Intel ® TXE capabilities as
well as any new custom BIOS features.
4.2
Microsoft Windows* Required Files
The Microsoft Windows* version of the FPT executable is fptw.exe. The following files
must be in the same directory as fptw.exe:
32
Intel Confidential
Flash Programming Tool
fparts.txt – contains a comma-separated list of attributes for supported flash
devices. The text in the file explains each field. An additional entry may be
required in this file to describe the flash part which is on the target system.
Examine the target board before adding the appropriate attribute values. The
supplied file is already populated with default values for SPI devices used with
Intel CRBs.
fptw.exe – the executable used to program the final image file into the flash.
pmxdll.dll
idrvdll.dll
In order for tools to work under the Windows* PE environment, you must manually
load the driver with the .inf file in the Intel® TXE driver installation files. Once you
locate the .inf file you must use the Windows* PE cmd drvload HECI.inf to load it
into the running system each time Windows* PE reboots. Failure to do so causes
errors for some features.
Table 4-1: FPT OS Requirements
FPT version
Target OS
Support Drivers
FPTw.EXE
Windows* 32 / 64 bit w/WOW64
idrvdll.dll, pmxdll.dll
FPTW64.EXE
Windows* Native 64 bit
idrvdll32e.dll, pmxdll32e.dll
Note: In the Windows* environment for operations involving global reset you should add a
pause or delay when running FPTW using a batch or script file.
4.3
EFI Required Files
The EFI version of the FPT executable is fpt.efi. The following files must be in the
same directory as fpt.efi:
4.4
fparts.txt – contains a comma-separated list of attributes for supported flash
devices. The text in the file explains each field. An additional entry may be
required in this file to describe the flash part which is on the target system.
Examine the target board before adding the appropriate attribute values. The
supplied file is already populated with default values for SPI devices used with
Intel CRBs.
fpt.efi – the executable used to program the final image file into the flash. Before
running fpt.efi, all the required files must be placed at root directory of the disk
otherwise errors like “FPT is unable to find FPARTS.TXT “might be displayed.
Programming the Flash Device
Once the Intel® TXE is programmed, it runs at all times. Intel® TXE is capable of
writing to the flash device at any time, even when the management mode is set to
none and it may appear that no writing would occur.
Intel Confidential
33
Flash Programming Tool
4.5
Programming CVARS
FPT can program the CVARS and change the default values of the parameters. The
modified parameters are used by the Intel® TXE FW after a global reset (Intel® TXE +
HOST reset) or upon returning from a G3 state. CVARS can be programmed using
getfile/setfile/CommitFiles APIs.
The variables can be modified individually or all at once via a text file.
Note: After setting CVARs, you need to call the –commit command to ensure they are
committed. This is different to previous platforms.
Table 4-2. Named Variables Options
Option
Description
fpt.exe –CVARS
Displays a list of the supported manufacturing configurable named
variables (CVARs).
fpt.exe –cfggen
Creates a list of blank CVARs in a text file that lets the user update
multiple line configurable CVARS. The variables have the following format
in the text file:
CVAR name = value which will be used by setfile.
fpt.exe –U –N
Accept the CVAR name
fpt.exe –IN
Accepts cfggen file with values set and will use setfile to update
See Appendix A for a description of all the CVAR parameters.
4.6
Usage
The EFI and Windows* versions of the FPT can run with command line options.
To view all of the supported commands: Run the application with the -? option.
The commands in EFI and Windows* versions have the same syntax. The command
line syntax for fpt.efi, fpt.exe and fptw.exe is:
FPT.exe [-H|?] [-VER] [-EXP] [-VERBOSE] [-Y] [-P] [-LIST] [-I] [-F]
[-ERASE] [-VERIFY][-NOVERIFY] [-D] [-DESC] [-BIOS] [-TXE] [-PDR]
[-B] [-E][REWRITE] [-ADDRESS|A] [-LENGTH|L]
[-CVARS] [-CFGGEN] [-U] [-O] [-IN] [-N][-V] [-CLOSEMNF] [-GRESET] [-PAGE]
[-SPIBAR] [-R] [-VARS] [-COMMIT] [-HASHED] [-FPFS] [-COMMITFPFS][-RPBIND]
[-GETPID]
Table 4-3. Command Line Options for fpt.efi, fpt.exe and fptw.exe
Option
34
Description
Help (-H, -?)
Displays the list of command line options supported by FPT tool.
-VER
Shows the version of the tools.
-EXP
Shows examples of how to use the tools.
Intel Confidential
Flash Programming Tool
Option
Description
-VERBOSE []
Displays the tool's debug information or stores it in a log file.
-Y
Bypasses Prompt. FPT does not prompt user for input. This
confirmation will automatically be answered with "y".
-P
Flash parts file. Specifies the alternate flash definition file which
contains the flash parts description that FPT has to read. By
default, FPT reads the flash parts definitions from fparts.txt.
-LIST
Supported Flash Parts. Displays all supported flash parts. This
option reads the contents of the flash parts definition file and
displays the contents on the screen.
-I
Info. Displays information about the image currently used in the
flash.
-F
Flash. Programs a binary file into an SPI flash. The user needs to
specify the binary file to be flashed. FPT reads the binary, and then
programs the binary into the flash. After a successful flash, FPT
verifies that the SPI flash matches the provided image. Without
specify the length with –L option, FPT will use the total SPI size
instead of an image size.
The NOVERFY sub-option *must* follow the file name. This will
allow flashing the SPI without verifying the programming was done
correctly. The user will be prompted before proceeding unless ‘-y’
is used.
-ERASE:
Block Erase. Erases all the blocks in a flash. This option does not
use the chip erase command but instead erases the SPI flash block
by block. This option can be used with a specific region argument
to erase that region. This option cannot be used with the –f, -b, -c,
-d or –verify options.
-VERIFY :
Verify. Compares a binary to the SPI flash. The image file name
has to be passed as a command line argument if this flag is
specified.
-D :
Dump. Reads the SPI flash and dumps the flash contents to a file
or to the screen using the STDOUT option. The flash device must
be written in 4KB sections. The total size of the flash device must
also be in increments of 4KB.
-DESC:
Read/Write Descriptor region. Specifies that the Descriptor region
is to be read, written, or verified. The start address is the
beginning of the region.
-BIOS:
Read/Write BIOS region. Specifies that the BIOS region is to be
read, written, or verified. Start address is the beginning of the
region.
Note that in APL platforms, the entire IFWI image resides in the
BIOS region.
-TXE:
Read/Write Intel® TXE region. Specifies that the Intel® TXE region
is to be read, written, or verified. The start address is the
beginning of the region.
Note that in APL platforms, the entire IFWI image resides in the
BIOS region, and the TXE region in SPI is only used for TXE ROM
Bypass code.
Intel Confidential
35
Flash Programming Tool
Option
Description
-PDR:
Read/Write PDR region. Specifies that the PDR region is to be read,
written, or verified. The start address is the beginning of the
region.
-B:
Blank Check. Checks whether the SPI flash is erased. If the SPI
flash is not empty, the application halts as soon as contents are
detected. The tool reports the address at which data was found.
-E:
Skip Erase. Does not erase blocks before writing. This option skips
the erase operation before writing and should be used if the part
being flashed is a blank SPI flash device.
-A, -ADDRESS
Write/Read Address. Specifies the start address at which a read,
verify, or write operation must be performed. The user needs to
provide an address. This option is not used when providing a
region since the region dictates the start address.
-L , LENGTH
Write/Read Length. Specifies the length of data to be read, written,
or verified. The user needs to provide the length. This option is not
used when providing a region since the region/file length
determines this.
-CVARS:
Lists all the current manufacturing line configurable variables.
-U:
Update. Updates the CVARs in the flash. The user can update the
multiple FOVs by specifying their names and values in the
parameter file. The parameter file must be in an INI file format
(the same format generated by the –cfggen command). The -in
option is used to specify the input file.
-O
Output File. The file used by FPT to output CVAR information.
-IN
Input File. The file used by FPT for CVAR input. This option flag
must be followed by a text file (i.e., fpt –u –in FPT.cfg). The tool
updates the CVARs contained in the text file with the values
provided in the input file.
User can also use FPT –cfggen to generate this file.
-N
Name. Specifies the name of the CVAR that the user wants to
update in the image file or flash. The name flag must be used with
Value (-v).
-V
Value. Specifies the value for the CVAR variable. The name of
variable is specified in the Name flag. The Value flag must follow
the Name flag.
-CLOSEMNF
:
End of Manufacturing. This option is executed at the end of
manufacturing phase. This option does the following:
CloseMnf does the following:
Commits all FPFs (if firmware is PV), even if CommitFPF was not
called
Does RPMB binding
Sets SOC Config lock
Sets all ‘Return to Factory Defaults’ to default values
Creates eMMc/UFS data partitions
Sets the Intel® TXE manufacturing mode done bit (Global Locked
bit).
36
Intel Confidential
Flash Programming Tool
Option
Description
Verifies that the Intel TXE manufacturing mode done bit (Global
Locked) is set.
®
For SPI, sets the master region access permission in the Descriptor
region to its Intel-recommended value, and verifies that flash
regions are locked.
If the image was properly set before running this option, FPT skips
all of the above and reports PASS. If anything was changed, FPT
automatically forces a global reset through the CF9GR mechanism.
The user can use the no reset option to bypass the reset. If
nothing was changed, based on the current setting, the tool
reports PASS without any reset.
The "NO" addition will prevent the system from doing a global reset
following a successful update of the TXE Manufacturing Mode Done,
the Region Access permissions, or both.
The "PDR" addition will allow CPU\BIOS Read & Write access to the
PDR region of flash.
Note: In order to allow FPT to perform a global reset, BIOS should
not lock CF9GR when Intel® TXE is in manufacturing mode. This
step is highly recommended to the manufacturing process. Without
doing proper end of manufacturing process would lead to ship
platform with potential security/privacy risk.
Important:
Before using this option with Production MCP / FW verify that the
values for the PTT and Anchor Cove are correct in your image.
Once this setting is used it will permanently commit values into the
Field Programmable Fuses and cannot be undone.
-GRESET :
Global Reset. FPT performs a global reset. On mobile platforms this
includes driving GPIO30 low. Mobile platforms require a SUS Well
power-down acknowledge-driven low before the global reset occurs
or the platform may not boot up from the reset.
The "NO" afterwards disables the driving of GPIO30 for mobile
SKUs.
-CFGGEN
CVAR Input file generation option. This creates a file which can be
used to update the line configurable CVARS.
-SPIBAR:
Display SPI BAR. FPT uses this option to display the SPI Base
Address Register.
-R
CVAR or FPF Read. FPT uses this option to retrieve value for a
specific CVAR or FPF file name. The value of the variable is
displayed. By default, all non- secure variables are displayed in
clear-text and secure CVAR will be displayed in HASH. The -hashed
option can be used to display the hash of a value instead of the
clear-text value.
-VARS:
Display Supported Variables. FPT uses this option to display all
variables supported for the -R and -COMPARE commands.
-COMMIT:
Commit. FPT uses this option to commit all setfile commands
CVARs changes to CVAR and cause relevant reset accordingly If no
pending variable changes are present, Intel® TXE does not reset
and the tool displays the status of the commit operation.
-COMMITFPF
Commits CVAR values to FPF via firmware and prevents further
modification of FPFs
Intel Confidential
37
Flash Programming Tool
Option
Description
-PAGE
Pauses the screen when a page of text has been reached. Hit any
key to continue.
-HASHED:
Hash Variable Output. FPT uses this option to distinguish whether
the displayed output is hashed by the FW. For variables that can
only be returned in hashed form this option has no effect – the
data displayed is hashed regardless.
-FPFS
Displays a list of the FPFs
-COMMITFPFS
Commit the FPFs permanently into the MCP.
-REWRITE
Allows to rewrite the SPI with file data even if flash is identical.
-RPBIND
Bind RP
-GETPID
Retrieve the part id into a file
Table 4-4. FPT –closemnf Behavior
Condition before FPT closemnf
Condition after FPT -closemnf
Other FPT
Action
Intel
TXE
Mfg
Done
bit set
Flash
Access set
to Intel
rec values
Intel TXE
Mfg Mode
Intel
TXE
Mfg
Done
bit set
Flash
Access set
to Intel rec
values?
Intel TXE
Mfg Mode
FPT
return
value
**
Global
Reset
No
No
Enabled
Yes
Yes
Disabled
0
Yes
No
Yes
Enabled
No
Yes
Enabled
1
No
Yes
No
Enabled
Yes
Yes
Disabled
0
Yes
Yes
Yes
Disabled
Yes
Yes
Disabled
0
No
** Return value 0 indicates successful completion. In the second case, FPT –closemnf returns 1
(= error) because it is unable to set the Intel TXE Mfg Done bit, because flash permissions are
already set to Intel recommended values (host cannot access Intel TXE Region).
4.7
Fparts.txt File
The fparts.txt file contains a list of all SPI flash devices that are supported by FPT.
The flash devices listed in this file must contain a 4KB erase block size. If the flash
device is not listed, the user will receive the following error:
Intel (R)
Copyright
Platform:
Error 75:
Flash Programming Tool. Version: x.x.x.xxxx
(c) 2007-2014, Intel Corporation. All rights reserved.
Intel(R) Qxx Express Chipset
“fparts.txt” file not found.
If the SPI flash device is not located in fparts.txt, the user is expected to provide
information about the device, inserting the values into fparts.txt in same format as is
used for the rest of the devices. Detailed information on how to derive the values in
fparts.txt is found in the Apollo Lake SPI Programming Guide. The device must have
a 4KB erase sector and the total size of the SPI Flash device must be a multiple of
4KB. The values are listed in columns in the following order:
38
Intel Confidential
Flash Programming Tool
4.8
Display name
Device ID (2 or 3 bytes)
Device Size (in bits)
Block Erase Size (in bytes - 256, 4K, 64K)
Block Erase Command
Write Granularity (1 or 64)
Unused
Examples
The following examples illustrate the usage of the EFI version of the tool (fpt.efi). The
Windows* version of the tool (Fptw.exe) behaves in the same manner apart from
running in a Windows* environment.
4.8.1
Complete SPI Flash Device Burn with Binary File
C:\ fpt.exe –f spi.bin
EFI:
>fpt.efi –f spi.bin or fs0:\>fpt.efi –f spi.bin
This command writes the data in the spi.bin file into a whole SPI flash from address
0x0
4.8.2
Dump full image
fpt.exe –d imagedump.bin
This command dumps the full image into the imagedump.bin file.
4.8.3
Display SPI Information
fptw.exe –I
This command displays information about the flash devices present in the computer.
The base address refers to the start location of that region and the limit address refers
to the end of the region. If the flash device is not specified in fparts.txt, FPT returns
the error message "There is no supported SPI flash device installed".
4.8.4
Verify Image with Errors
fpt.exe -verify outimage.bin
Intel Confidential
39
Flash Programming Tool
This command compares the Intel® TXE region programmed on the flash with the
specified FW image file outimage.bin. If the -y option is not used; the user is
notified that the file is smaller than the binary image. This is due to extra padding that
is added during the program process. The padding can be ignored when performing a
comparison. The -y option proceeds with the comparison without warning.
4.8.5
Verify Image Successfully
fpt.exe -verify outimage.bin
This command compares image.bin with the contents of the flash. Comparing an
image should be done immediately after programming the flash device. Verifying the
contents of the flash device after a system reset results in a mismatch because Intel®
TXE changes some data in the flash after a reset.
4.8.6
Get Intel® TXE settings
fpt.exe –r “Privacy/SecurityLevel”
Please note that only –r (get command) supports the –hashed optional command
argument. When –hashed is used, variable value will be returned in hashed format,
otherwise it will be returned in clear txt. There are a few exceptions in the case of
variables PID and PPS, their value will be always returned in hashed format regardless
–hashed is used or not. This is primarily because of security concern.
4.8.7
Compare Intel® TXE Settings
FPT –verbose –compare vars.txt compares variables with suggested values in vars.txt,
and report result on the screen. Vars.txt can have the following data with verbose
information: FPT –VARS can be used to get the VAR list for the platform and get the
value/format from Intel FIT advanced mode. There are settings in the Intel® TXE
which are stored encrypted. Users will not be able to compare them using clear text
values. Please use FPT –R option to read the hash value of those settings and use
them as baseline for the expected value.
4.8.8
CVAR Configuration File Generation (-cfggen)
It creates an input file which can be used to update CVARs. The file includes all the
current CVAR. When creating the file, it extracts the fixed offset variables from flash.
Note, the file generated will change every time the list of CVAR changes.
fpt.exe –cfggen [ -o Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : No Page Count : 90 Language : en-US Title : System Tools for Broxton: Intel® Trusted Execution Environment 3.0 User Guide Author : CCE Tech Pubs - Intel Corp Creator : Microsoft® Word 2013 Create Date : 2016:06:14 10:33:54-07:00 Modify Date : 2016:06:14 10:33:54-07:00 Producer : Microsoft® Word 2013EXIF Metadata provided by EXIF.tools