Skip to content

Latest commit

 

History

History
1040 lines (801 loc) · 43.9 KB

PITCHME.md

File metadata and controls

1040 lines (801 loc) · 43.9 KB

---?image=assets/images/gitpitch-audience.jpg @title[Platform Build Win Lab]




UEFI & EDK II Training

Platform Build for UP Squared Windows Lab


tianocore.org Note: PITCHME.md for UEFI / EDK II Training Platform Build Lab UP2 Win

Copyright (c) 2018, Intel Corporation. All rights reserved.

Redistribution and use in source (original document form) and 'compiled' forms (converted to PDF, epub, HTML and other formats) with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code (original document form) must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified.

  2. Redistributions in compiled form (transformed to other DTDs, converted to PDF, epub, HTML and other formats) must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS DOCUMENTATION IS PROVIDED BY TIANOCORE PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL TIANOCORE PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


@title[Lesson Objective]

<p align="center"Platform Build Labs



@fa[certificate gp-bullet-cyan]  Hardware Setup for UP Squared

@fa[certificate gp-bullet-yellow]  Build a EDK II Platform using UP Squared

---?image=assets/images/binary-strings-black2.jpg @title[Setup UP2 HW Section]




     Platform HW Setup

         Setup hardware for the Broxton - UP Squared

---?image=/assets/images/slides/Slide4.JPG @title[UP2 HW]

EDK II Platform (UP Squared)

@snap[south-west span-45 ]

Intel® Celerontm processor N3350 Series
(Formerly Apollo Lake)

@snapend

@snap[south-east span-45 ]

Available from Aaeon
order at: here

@snapend

Note:

This lab shows the build process for an actual platform – UP Squared https://www.google.com/imgres?imgurl=https%3A%2F%2Fksr-ugc.imgix.net%2Fassets%2F014%2F192%2F390%2Fb48b13570b839fdb254d046a4e5fe703_original.png%3Fixlib%3Drb-1.1.0%26crop%3Dfaces%26w%3D1552%26h%3D873%26fit%3Dcrop%26v%3D1479219233%26auto%3Dformat%26frame%3D1%26q%3D92%26s%3Dd8c8e37c0ed5f65b97557dd77e441059&imgrefurl=https%3A%2F%2Fwww.kickstarter.com%2Fprojects%2F802007522%2Fup-squared-the-first-maker-board-with-intel-apollo&docid=hdDbuF0mF4AVzM&tbnid=rQVd58-OYexfgM%3A&vet=10ahUKEwjb-uLy_JDgAhUKsFQKHUnbC7wQMwhCKAIwAg..i&w=1552&h=873&bih=851&biw=1378&q=up%20squared&ved=0ahUKEwjb-uLy_JDgAhUKsFQKHUnbC7wQMwhCKAIwAg&iact=mrc&uact=8

Using Tianocore source Open source EDK II plus open source binary obj. packages

This lab shows the build process for an actual platform – UP Squared

  • Using Tianocore source
  • Open source EDK II plus open source binary obj. packages

---?image=/assets/images/slides/Slide5.JPG @title[Workshop Lab Hardware]

UP Squared Workshop Lab Hardware

@snap[south span-100 ]

 **Warning do not use any other power supply than 5V or the board will Fry  


@snapend Note:

**Warning do not use any other power supply than 5V or the board will Fry

---?image=/assets/images/slides/Slide6.JPG @title[Instructions for Lab Materials]

Instructions for Lab Materials

Directory C:\PlatformBuildLab_UP2_FW\FW\PlatformBuildLab

 
Note:

---?image=/assets/images/slides/Slide7.JPG @title[Setup UP2 Test System]

@size[1.1em](Setup UP Squared Test System)

@snap[north-west span-60 ]

Hardware:

  • - System Under Test (SUT) - UP Squared
  • - FTDI USB to 3.3V TTL Cable (6 pin)
  • - USB / EP-CBUSB10PFL01 (3 pin & 10 pin)
  • - 5V 6 amp power supply
  • - 3 jumper wires (black, red, white)

Connect the USB 10 pin header to SUT

Connect the FTDI USB w/ 6 pin to 3 pin connector using jumper wires

Connect the FTDI USB Type A connector to Host (Laptop)

On your Host Go to the "Device Manager" in the control panel

Under the "Other devices" category you will see a yellow @fa[exclamation-triangle gp-bullet-gold ] with a warning icon next to it.

@snapend

Note:

  • Hardware:

    • System Under Test (SUT) – UP Squared
    • USB to 3.3V TTL Cable (6 pin to USB Type A)
    • 5V power supply
  • Connect the USB w/ 6 pin header to SUT 3 pin connected to (UP Squared) via 10 Pin connected using jumper wires (black, red, white)

  • Connect the USB Type A connector to Host (Laptop)

  • On your Host Go to the “Device Manager” in the control panel.

  • Under the "Other devices" category you will see a yellow ! with a warning icon next to it.

  • You may already have this driver installed if you do not see a ! warning under “Other devices” You may already have this driver installed if you do not see a @fa[exclamation-triangle gp-bullet-gold ] warning under "Other devices"

---?image=/assets/images/slides/Slide8.JPG @title[Install FTDT Device Driver on Host]

@size[1.1em](Install FTDT Device Driver on Host)

@color[yellow](SKIP) if you have the FTDI Device driver already installed

• Right click yellow @fa[exclamation-triangle gp-bullet-gold ] and select "Update Driver Software" from the Device Manager menu

@snap[north-west span-75 ]




• Select "Browse my computer for driver software"

• Click the Browse button – Click @fa[check-square gp-bullet-white] on "Include subfolders"

• Browse to the location of the folder for the FTDI driver

• Click on the folder and press OK @snapend

@snap[south-west span-30 ]

• Press Next
  Driver will be installed






@snapend

Note:

  • Right click yellow ! and select "Update Driver Software“ from the Device Manager menu
  • Select "Browse my computer for driver software”.
  • Click the Browse button. – Click on “Include subfolders”
  • Browse to the location of the folder you unzipped earlier for the FIDI driver.
  • Click on the folder and press OK.
  • Press Next.
  • Driver will be installed

---?image=/assets/images/slides/Slide9.JPG @title[Setup TeraTerm]

@size[1.1em](Setup TeraTerm)

@snap[north-west span-35 ]

Unzip and Install TeraTerm

Open TeraTerm Software

Select the serial port assigned

@snapend

@snap[south-east span-55 ]

Go to Setup −> Serial Port and set the following:
  • Baud: 115200
  • Parity: None
  • Data Bits: 8
  • Stop Bits: 1
  • Flow Control: Xon/Xoff

@snapend

Note:

  • Unzip and Install TeraTerm

  • Open TeraTerm Software

  • Select the serial port assigned

  • Go to Setup- Serial Port and set the following:

    • Baud: 115200
    • Parity: None
    • Data Bits: 8
    • Stop Bits: 1
    • Flow Control: Xon/Xoff

---?image=/assets/images/slides/Slide10.JPG @title[Power on UP Squared]

@size[1.1em](Power on UP Squared)

@snap[north-west span-100 ]

Connect the Power supply cable to the UP Squared

UP Squared should boot to the UEFI Shell in the TeraTerm window.

@snapend

Note:

  • Connect the Power supply cable to the UP Squared
  • UP Squared should boot to the UEFI Shell in the TeraTerm window.

---?image=assets/images/gitpitch-audience.jpg @title[End of Section]




     End of Lab

          @fa[chevron-right gp-bullet-cyan]   to continue

---?image=assets/images/binary-strings-black2.jpg @title[Lab 3 -Build Up Squared Section]




     Build UP Squared

         

---?image=/assets/images/slides/Slide13.JPG @title[Up Squared HW]

EDK II Platform (UP Squared)

@snap[south-west span-45 ]

Intel® Celerontm processor N3350 Series
(Formerly Apollo Lake)

@snapend

@snap[south-east span-45 ]

Available from Aaeon
order at: here

@snapend

Note:

https://www.google.com/imgres?imgurl=https%3A%2F%2Fksr-ugc.imgix.net%2Fassets%2F014%2F192%2F390%2Fb48b13570b839fdb254d046a4e5fe703_original.png%3Fixlib%3Drb-1.1.0%26crop%3Dfaces%26w%3D1552%26h%3D873%26fit%3Dcrop%26v%3D1479219233%26auto%3Dformat%26frame%3D1%26q%3D92%26s%3Dd8c8e37c0ed5f65b97557dd77e441059&imgrefurl=https%3A%2F%2Fwww.kickstarter.com%2Fprojects%2F802007522%2Fup-squared-the-first-maker-board-with-intel-apollo&docid=hdDbuF0mF4AVzM&tbnid=rQVd58-OYexfgM%3A&vet=10ahUKEwjb-uLy_JDgAhUKsFQKHUnbC7wQMwhCKAIwAg..i&w=1552&h=873&bih=851&biw=1378&q=up%20squared&ved=0ahUKEwjb-uLy_JDgAhUKsFQKHUnbC7wQMwhCKAIwAg&iact=mrc&uact=8

  • Intel® Celerontm processor N3350 Series (Formerly Apollo Lake)

---?image=/assets/images/slides/Slide14.JPG @title[UP Squared Platform Open Source]

Where to get Open Source
UP Squared


- Open Source UP2 Wiki - V .71 - Github Link - Binary Object Modules:
firmware.intel.com
- How to Build Release Notes

Note:

  • Step by step if NOT downloading Lab release of UP Squared

---?image=/assets/images/slides/Slide15.JPG @title[UP Squared Platform Bin Obj]

Where to get Open Source
UP Squared


- Open Source UP2 Wiki - V .71 - Github Link - Binary Object Modules:
firmware.intel.com
- How to Build Release Notes

Note:

  • Step by step if NOT downloading Lab release of UP Squared

@title[Download UP Squared Lab Source]

@size[1.1](Download UP Squared Lab Source)

Download the PlatformBuildLab_UP2_FW.zip from :
@fa[github gp-bullet-white] github.com PlatformBuildLab_UP2_FW.zip

OR
Use git clone to download the PlatformBuildLab_UP2_FW

$ git clone https://github.com/tianocore-training/PlatformBuildLab_UP2_FW.git

Directory PlatformBuildLab_UP2_FW will be created

   FW 
    - PlatformBuildLab
       - iasl				                   - Asl Compiler 
       - FTDI-Driver		                    - Serial / USB cables 
       - MV3                                    - UP Squared Source for the Labs
       - FirmwareUpdateX64.efi                  - UEFI App to flash
	   - TeraTerm			                   - Terminal app
	   
	   . . .

Note:

---?image=/assets/images/slides/Slide17.JPG @title[UP Squared Lab Setup]

UP Squared Lab Setup

@snap[north-west span-70 ]


@color[#87E2A9](Previous Lab Setup Requirements)
NASM
 Copy ... `Lab_Material_FW\FW\Nasm` to `C:\`



@color[#87E2A9](Additional Lab Setup -)
    @color[#87E2A9]( `. . /FW/PlatformBuildLab`)

@snapend

@snap[south-west span-25 ]

Directories:
   • MV3
   • iasl
   • FTDI-Driver
   • Nasm
   • TeraTerm


@snapend

@snap[south-east span-85 ]


   ‐  UP Squared Project source code
   ‐  Iasl Assembler copy to platform tools directory
   ‐  Driver for Serial/USB Uart cable
   ‐  Nasm Assembly compiler- Same as previous lab
   ‐  TeraTerm application


@snapend

Note:

  • NASM
    • Copy …Lab_Material_FW\FW\Nasm to C:\

Directories

  • MV3 – UP Squared Project source code
  • iasl – Iasl Assembler copy to platform tools
  • FTDI-Driver – Driver for Seria/USB Uart cable
  • Nasm – Nasm Assembly compiler- Same as previous lab
  • TeraTerm – TeraTerm application

---?image=/assets/images/slides/Slide18.JPG @title[Preparing to Build]

Preparing to Build

Directory `C:\PlatformBuildLab_UP2_FW\FW\PlatformBuildLab` from Download or zip

@snap[north-west span-60 ]





@size[1.5em]( ❶)   Copy `\Nasm` Folder to `C:\`


@size[1.5em]( ❷)   Copy `\iasl` Folder to
       `C:\FW\MV3\edk2-platforms\Platform\`
      `BroxtonPlatformPkg\Common\Tools\Iasl`


@size[1.5em]( ❸)   Install Python 2.7.10 from link

       (if not already installed)

@snapend

Note:

Copy \Nasm Folder to C:\
Copy \iasl Folder to C:\FW\MV3\edk2-platforms\Platform\BroxtonPlatformPkg\Common\Tools\Iasl

---?image=/assets/images/slides/Slide19.JPG @title[Get the UP Squared Source]

Copy UP Squared Source

@snap[north-west span-20 ]


@size[1.5em]( ❹)

@snapend

@snap[north-east span-95 ]

Open a VS Command Prompt
Create a working space source directory under the home directory
C:\> mkdir FW

From the `FW\PlatformBuildLab` folder, copy and paste folder "`..FW\MV3`" to `C:\FW\MV3`

@snapend

Note:

  • Open a VS prompt
  • Create a working space source directory under the home directory
    • bash$ mkdir FW
  • From the FW/PlatformBuildLab folder, copy and paste folder "..FW/MV3" to C:/FW/MV3

@title[Platform Source Directory Structure]

Platform Source Directory Structure

 /MV3 (Work Space Dir)

	/edk2
		/(UDK2018 Directories)
		/BaseTools (from BaseToolsUDK.tar.gz)

	/edk2-platforms  

		/Platform

			/BroxtonPlatformPkg 
				(Platform Dirs)
				PlatformPkg.dec
				PlatformPkg.fdf
				PlatformPkgnn.dsc
		/Silicon

			/BroxtonSoC
				/BroxtonFspPkg
				/BroxtonSiPkg

@snap[north-east span-75 fragment]






 

@size[1.1em](←——————)Invoke the build script from here
                              @size[.7em](@color[#87E2A9](`BuildBIOS`) script)

@snapend

@snap[north-east span-65 fragment]









@size[1.1em](←——)Project platform directory
             @size[.7em]((includes platform build scripts)
             @size[.7em](@color[#87E2A9](`BuildIFWI`) that then calls   →  @color[#87E2A9](`BuildBxtBios`))
             @size[.7em]( - Called from @color[#87E2A9](`BuildBIOS`) above ))

@snapend

Note:

  • Platform Source Directory Structure
    • Build from /edk2-platform directory
    • Project platform directory is: BroxtonPlatformPkg

@title[Steps to Build & Install Firmware]

Steps to Build & Install Firmware

  • @size[1.125em]( ❶)  Open VS Command prompt
  • @size[1.125em]( ❷)  Cd to project directory :
           
    `C:\FW\MV3\edk2-platforms`
  • @size[1.125em]( ❸)  Invoke the build process script, `BuildBIOS`
  • @size[1.125em]( ❹)  Locate build output (.BIN file for BIOS image)
  • @size[1.125em]( ❺)  Flash binary image onto the platform
  • @size[1.125em]( ❻)  Reset and verify new firmware


Next slides will follow the above steps

Note:

Slide says it all

---?image=/assets/images/slides/Slide22.JPG @title[Open a VS Command Prompt]

Open a VS Command Prompt

Follow Steps from here to Pin the Visual Studio Command Prompt to the Windows Task Bar

@size[1.25em]( ❶)  Open a Visual Studio Command Prompt

Note:


@title[Platform Build Scripts]

@size[1.1em](Platform Build Scripts)

@box[bg-purple-pp text-white rounded my-box-pad2 ](

Platform Build Scripts
 

)

Many Platforms have a bash or bat script file to pre or post process the EDK II build process

For UP Squared Broxton Platform : @color[#87E2A9](`BuildBIOS.bat`) or @color[#87E2A9](`BuildBIOS.sh`) calls:

  @color[#87E2A9](`BuildIFWI`) from the platform package directory
       `.. Platform/BroxtonPlatformPkg`
   – pre build processing
   – calls @color[#87E2A9](`BuildBxtBios`) - a platform script to preform the EDK II `build`
   – determines date
   – board ID
   – post build stitching

Note:

For the platform edk II builds usually a script is called that will do pre and post build processing.

There is also this capability that is part of the .dsc but many developers have not taken advantage of this feature

---?image=/assets/images/slides/Slide24.JPG @title[Build Process for DEBUG]

Build Process for DEBUG BIOS

From the VS command Prompt ... Enter:
@size[1.25em]( ❷)  
 cd c:\FW\MV3\edk2-Platforms  
@size[1.25em]( ❸)    BuildBIOS.bat /J /UP /A /x64 /vs@color[cyan](nn ) Broxton Debug  

@snap[south-east span-50 ]

Where @color[cyan](`nn` ) is the Visual Studio year version

@snapend

Note:

  • From the VS Command Prompt … ENTER:
$ cd C:\FW\MV3\edk2-Platforms
$ BuildBIOS.bat /J /UP /A /x64 /vsnn Broxton Debug

where nn is the Visual Studio number

Press Enter to continue. Also notice the BUILD DEFINE Statements from the file: DefineAtBuildMacros.dsc


@title[Examine Command Line & Build Parameters]

@size[1.1em](Examine Build Parameters)

@snap[north-west span-100 ]

@box[bg-black text-yellow rounded my-box-pad2 ](

  build


  

) @snapend

@snap[north-east span-85 fragment]

   -D LOGGING=TRUE   -D UP2_BOARD=TRUE
. . . -D Option (n)

@snapend

@snap[north-east span-30 fragment]


@box[bg-white text-black rounded my-box-pad2 ](

  MACROS
  Logging
  UP2 Board
  

) @snapend

@snap[north-west span-100 fragment ]





Properties from `Conf\Target.txt`

TARGET

= @color[yellow](DEBUG)

Build Mode

TARGET_ARCH

= @color[yellow](IA32 X64)

CPU Architecture

TOOL_CHAIN_TAG

= @color[yellow](VS2015x86)

VS Tool Chain

ACTIVE_PLATFORM

= @color[yellow](BroxtonPlatformPkg /PlatformPkgX64)

Platform DSC file

MAX_CONCURRENT_ THREAD_NUMBER

= @color[yellow](1)

Thread Count

@snapend


@title[Examine Platform Parameters UP Squared Specific]

@size[1.1em](Platform Build and PCD Parameters)

@box[bg-purple-pp text-white rounded my-box-pad2 ](

Platform Parameters
 

)

Many Platform Parameters are defined in a top .DSC file that controls PCD and build switches

For UP Squared :

  • @color[yellow]( Build Switches )(dynamic)
    • `DefineAtBuildMacros.dsc ` - Updated from `BuildBIOS` command line
    • `PlatformDsc/BuildOptionsEDKII.dsc ` - Like PCDs on command line
  • @color[yellow](EDK II feature Options)
    • `PlatformDsc/Defines.dsc ` - Manually update before build command line

Note:

many will have "ifdef" statements in the major .dsc file in order to enable a feature or not

---?image=/assets/images/slides/Slide27.JPG @title[Build Process for Release]

Build Process for Release

From the VS command Prompt ... Enter:

@size[1.25em]( ❸)    BuildBIOS.bat /J /UP /A /x64 /vs@color[cyan](nn) Broxton Release  

@snap[north-east span-30 fragment]




@box[bg-white text-black rounded my-box-pad2 ](

  Note MACRO
  Logging
  Set to FALSE
  

) @snapend

Note: From VS Prompt enter:

$ cd Vlv2TbltDevicePkg 
$ Build_IFWI.bat /l MNW2 Release

@title[DEBUG & RELEASE Differences]

DEBUG & RELEASE Differences

@box[bg-purple-pp text-white rounded my-box-pad2 fragment](

Slower boot because the time it takes to display debug info
 

) @box[bg-green-pp text-white rounded my-box-pad2 fragment](

Larger image because of debug code & embedded info
 

) @box[bg-gold2 text-white rounded my-box-pad2 fragment](

Uses the serial port for debug string output
 

) @box[bg-royal text-white rounded my-box-pad2 fragment](

Contains detailed debug strings that show the
boot progress and various ASSERT / TRACE errors
 

)

Note:

DEBUG build …

  • Contains detailed debug strings that show the boot process, along with various ASSERT/TRACE errors
  • Uses the serial port for debug string output
  • Larger image than RELEASE, due to the embedded debug info
  • Slower boot than RELEASE, due to the time it takes to display the debug info

RELEASE build …

  • Does not contain the debug strings
  • Does not use the serial port for debug output
  • Smaller image than DEBUG
  • Faster boot than DEBUG

---?image=/assets/images/slides/Slide29.JPG @title[Build Process Completed]

Build Process Completed

@size[1.25em]( ❹)  Locate the build .BIN image

@snap[south-west span-100 ]

The platform build script post build process will stitch the multiple firmware volumes generated by the EDK II build process into the final .BIN image.

The script displays the location of the final .BIN file

@snapend

Note:

  • The EDK II build generates multiple firmware volumes, which are combined in the .BIN image
  • typically the platform script will call a stitching process to combine all the images together in post processing after the EDK II build

@title[Flash onto the UP Squared]

Flashing the New BIOS

@snap[north-west span-100 ]

@size[1.25em]( ❺)  Flash the binary image @snapend


1.   Access UP Squared Binary image file from build folder - `C:\FW\MV3\edk2-platforms\Platform\BroxtonPlatformPkg\Common\Tools\Stitch` - DEBUG UPBOARDA.X64.D01.0071._date_.bin - RELEASE UPBOARDA.X64.R01.0071._date_.bin 2.   Copy BIN files to a USB Thumb drive 3.   Copy `FirmwareUpdateX64.efi` to a USB thumb   drive from @size[.65em](`.../FW/PlatformBuildLab`) 4.   Reset the UP Squared board and be prepared to type "F2" to enter System Setup

Note:

  1. Access UP2 Binary image file from build folder
  • C:\FW\MV3\edk2-platforms\Platform\BroxtonPlatformPkg\Common\Tools\Stitch
  • DEBUG UPBOARDA.X64.0071.D01.date.bin
  • RELEASE UPBOARDA.X64.0071.R01.date.bin
  1. Copy BIN files to a USB Thumb drive
  2. Copy FirmwareUpdateX64.efi to a USB thumb drive from $.../FW/PlatformBuildLab
  3. Reset the UP Squared board and be prepared to type “F2” to enter System Setup

---?image=/assets/images/slides/Slide31.JPG @title[Flash onto the UP Squared 02]

Flashing the New BIOS

5.   Set "BIOS Lock" to "Disable" in the Setup by the following:

  • Inside Setup go to "`Device Manager`" → "`System Setup`" → "`South Cluster Configuration`" → "`Miscellaneous Configuration`"
  • Open "`BIOS Lock`" and select "`Disable`"
  • Press "`F10`" to save and then reboot

Note:

the platform setup is reached by typing F2 on a reboot

---?image=/assets/images/slides/Slide32.JPG @title[Flash onto the UP Squared 03]

Flashing the New BIOS

6.  Boot into the UEFI Shell then type "FS0:" 
7.  Run update `.efi` utility with either BIN file
(Note the “TAB” Key
        will fill out the command line for you )

  FS0:\> FirmwareUpdateX64.efi UPBOARDA.X64.0071.R01.1809030927.bin
 

Wait for the new firmware update to finish






  Reset and boot new firmware

Note:

6, Boot into the UEFI Shell then type “FS0:” 7, Run update .efi utility with either BIN file
(Note the “TAB” Key will fill out the command line for you )

FS0:\> FirmwareUpdateX64.efi UPBOARDA.X64.0071.R01.1809030927.bin
 

Reset and boot new firmware

---?image=/assets/images/slides/Slide33.JPG @title[Verify after Firmware Update]

Verify after Firmware Update

@snap[north-west span-100 ]

@size[1.25em]( ❻)  Reboot and Verify @snapend


- Verify that the Firmware was updated by checking the Date - Go into setup by pressing "F2" after reboot - The EDK II front page will show the BIOS ID with Date/time stamp

Note:

  • Verify that the Firmware was updated by checking the Date
  • Go into setup by pressing “F2” after reboot
  • The EDK II front page will show the BIOS ID with Date/time stamp

@title[Summary]

<p align="center"Summary


@fa[certificate gp-bullet-cyan]  Hardware Setup for UP Squared

@fa[certificate gp-bullet-yellow]  Build a EDK II Platform using UP Squared

---?image=assets/images/gitpitch-audience.jpg @title[Questions]
![Questions](/assets/images/questions.JPG =10x)

---?image=assets/images/gitpitch-audience.jpg @title[Logo Slide]


![Logo Slide](/assets/images/TianocoreLogo.png =10x)


@title[Acknowledgements]

Acknowledgements

/**
Redistribution and use in source (original document form) and 'compiled' forms (converted
to PDF, epub, HTML and other formats) with or without modification, are permitted provided
that the following conditions are met:

Redistributions of source code (original document form) must retain the above copyright 
notice, this list of conditions and the following disclaimer as the first lines of this 
file unmodified.

Redistributions in compiled form (transformed to other DTDs, converted to PDF, epub, HTML
and other formats) must reproduce the above copyright notice, this list of conditions and 
the following disclaimer in the documentation and/or other materials provided with the 
distribution.

THIS DOCUMENTATION IS PROVIDED BY TIANOCORE PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED 
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL TIANOCORE PROJECT BE 
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY 
OF SUCH DAMAGE.

Copyright (c) 2018, Intel Corporation. All rights reserved.
**/

---?image=assets/images/binary-strings-black2.jpg @title[Backup Section]




     Back up

         


@title[Build Errors]



<p align="center"Build Errors



@title[Build Error- RC.exe ]

Build Error- RC.exe

Because RC.Exe is not found, Error Message:

   "c:\Program Files (x86)\Windows Kits\8.0\bin\x64\rc.exe" 
/Foc:\edkii.svn\Build\NT32IA32\DEBUG_VS2013x86\IA32\MdeModulePkg\Application\HelloWorld\HelloWorld\OUTPUT
\HelloWorldhii.lib 
c:\edkii.svn\Build\NT32IA32\DEBUG_VS2013x86\IA32\MdeModulePkg\Application\HelloWorld\HelloWorld\OUTPUT\He
lloWorldhii.rc
'c:\Program' is not recognized as an internal or external command,
operable program or batch file.
 
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Windows Kits\8.0\bin\x64\rc.exe' : return code '0x1'
Stop.

Find where the RC.EXE is located on your VS Installation:

Example (VS 2013): The RC.exe is located on this machine:
`C:\Program Files (x86)\Windows Kits\8.1\bin\x64`

Edit `Conf/tools_def.txt`

Note:

+++ @title[Build Error- RC.exe 02]

Build Error- RC.exe Cont...

Edit Conf/tools_def.txt

Search for your installation of Visual Studio (2013 or 2015)

Update according to the path for where the RC.EXE is found

# Microsoft Visual Studio 2013 Professional Edition
DEFINE WINSDK8_BIN       = c:\Program Files\Windows Kits\8.1\bin\x86\
DEFINE WINSDK8x86_BIN    = c:\Program Files (x86)\Windows Kits\8.1\bin\x64
 
# Microsoft Visual Studio 2015 Professional Edition
DEFINE WINSDK81_BIN       = c:\Program Files\Windows Kits\8.1\bin\x86\
DEFINE WINSDK81x86_BIN    = c:\Program Files (x86)\Windows Kits\8.1\bin\x64

Note:

---?image=/assets/images/slides/Slide40.JPG @title[Visual Studio Resource Compiler Error – Rc.exe]

Visual Studio Resource Compiler Error – Rc.exe

Note:

  • The Rc.exe was not found and the build fails

  • Find where rc.exe is located and update the tools_def.txt

  • Update MV3/conf/tools_def.txt

- # Microsoft Visual Studio 2013 Professional Edition
- DEFINE WINSDK8x86_BIN    = C:\Program Files (x86)\Windows Kits\8.1\bin\x64

- # Microsoft Visual Studio 2015 Professional Edition
- DEFINE WINSDK81x86_BIN   = C:\Program Files (x86)\Windows Kits\8.1\bin\x64

- # Microsoft Visual Studio 2017 Professional Edition
- DEFINE WINSDK10_BIN      =  Location of Rc.exe