Intel Quark SoC X1000 User Manual

Board support package bsp, build and software
Hide thumbs Also See for Quark SoC X1000:

Advertisement

Intel
®
Quark™ SoC X1000
Board Support Package (BSP)
Build and Software User Guide
Release: 1.0.1
16 June 2014
Order Number: 329687-007US

Advertisement

Table of Contents
loading

Summary of Contents for Intel Quark SoC X1000

  • Page 1 Intel ® Quark™ SoC X1000 Board Support Package (BSP) Build and Software User Guide Release: 1.0.1 16 June 2014 Order Number: 329687-007US...
  • Page 2: Table Of Contents

    Capsule recovery .................... 32 Signing files (secure SKU only) [Linux build environment only] ......33 Enabling the OpenOCD debugger ..............35 Appendix A Related documents ..................36 Intel ® Quark™ SoC X1000 BSP Build and Software User Guide Order Number: 329687-007US...
  • Page 3 Contents Revision History ......................... 37 Legal Disclaimers ........................ 38 Intel ® Quark™ SoC X1000 BSP Build and Software User Guide Order Number: 329687-007US...
  • Page 4: About This Document

    BSP software features. The intended audience for this document are hardware/software engineers with experience in developing embedded applications. This software release supports the following software and hardware:  Board Support Package Sources for Intel ® Quark™ SoC X1000 v1.0.0  Intel ®...
  • Page 5: Part 1 Building The Bsp Software

    Booting the board from SD card Before you begin Before you begin:  You need a host PC running either: - Linux*; Intel recommends a 64-bit Linux system - Microsoft* Windows* 7, x64  You need an internet connection to download third party sources. ...
  • Page 6 This release has been tested with Windows* 7, 64-bit and Debian* Linux* 7.0 (Wheezy), but will work with most other Linux distributions. Linux builds have been validated on 64-bit Linux systems and may need additional steps for operation on 32-bit systems. Intel ® Quark™ SoC X1000 BSP Build and Software User Guide...
  • Page 7: Downloading Software

    Board Support Package (BSP) sources:  Board_Support_Package_Sources_for_Intel_Quark_v1.0.1.7z (2.6 MB) For customers using the Clanton Hill FFRD, additional CAN software must be downloaded from Intel Business Link (IBL). See your Intel representative for the URL. The CAN package comprises: • Fujitsu CAN Firmware: ...
  • Page 8: Building The Edkii Firmware

    The following steps are done once to prepare the EDKII workspace directory with the required source code before commencing the actual firmware build. 1. Create the EDKII workspace directory and extract the contents of the Intel ® Quark™ SoC EDKII BSP into this directory. The file will have the name Quark_EDKII_<version>.tar.gz.
  • Page 9: Performing Pre Build Steps In A Linux/Gcc Build Environment

    You may find answers about proxy settings here: https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy Note: The examples above do not show the optional OpenSSL pre build step described in the CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt file. Intel ® Quark™ SoC X1000 BSP Build and Software User Guide Order Number: 329687-007US...
  • Page 10: Building All The Edkii Firmware Validated Build Configurations [Linux Build Environment Only]

    Name of the platform package you want to build. Example usage: Create a build for an Intel® Quark™ SoC platform based on GCC version 4.6: ./buildallconfigs.sh GCC46 QuarkPlatform Note: Ensure the selected version of GCC matches the one installed on the system by running the gcc --version command.
  • Page 11: Building A Single Edkii Firmware Build Configuration

    Create an EDKII build with TPM support (optional) Note: This option has a one-time prerequisite described in the CryptoPkg\Library\OpensslLib\Patch-HOWTO.txt file. For more details on TPM (Trusted Platform Module), see the Intel ® Quark™ SoC X1000 UEFI Firmware Writer’s Guide. Intel ®...
  • Page 12: Edkii Firmware Build Standalone Output Files

    Building the EDKII firmware Linux example usage: Create a secure lockdown RELEASE build for an Intel ® Quark™ SoC platform based on GCC version 4.3: ./quarkbuild.sh -r32 GCC43 QuarkPlatform –DSECURE_LD Windows example usage: Create a DEBUG build for a Quark platform. After executing quarkbuild.bat, a virtual drive S: is created which is rooted to EDKII workspace directory.
  • Page 13: Building The Grub Os Loader [Linux Build Environment Only]

    Note: If you are not using Debian and had to manually install gnu-efi in a non-system location, then you must point GNUEFI_LIBDIR at the location where gnu-efi was compiled or installed. Intel ® Quark™ SoC X1000 BSP Build and Software User Guide...
  • Page 14 Note: If these commands fail, it may be due to your proxy settings. Contact your network administrator. You may find answers about proxy settings here: https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy The required output from this build process is the work/efi/grub.efi file. Intel ® Quark™ SoC X1000 BSP Build and Software User Guide...
  • Page 15: Creating A File System And Building The Kernel Using Yocto [Linux Build Environment Only]

    # cd meta-clanton* # ./setup.sh Note: The setup.sh script takes no parameters. To build the root file system and kernel for the Intel ® Galileo board, see the commands below. Next, source the oe-init-build-env command to initialize the Yocto build environment, and run bitbake <target>...
  • Page 16 Creating a file system and building the kernel using Yocto [Linux build environment only] Two build methods are supported; the output is slightly different for each one. The commands are different for the Intel ® Galileo board. Note: You cannot perform the following build methods sequentially, they are mutually exclusive.
  • Page 17: Applying A Custom Patch To The Linux Kernel Using Yocto (Optional)

    5. Return to Section 6 and run the bitbake command to get new images. More information can be found here:  http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var- SRC_URI  http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#platdev- appdev-devshell Intel ® Quark™ SoC X1000 BSP Build and Software User Guide Order Number: 329687-007US...
  • Page 18: Building The Linux* Cross Compile Toolchain Using Yocto [Linux Build Environment Only]18

    Quark Linux uses uclibc, which is a C library optimized for embedded systems. This enables a very small Linux that can fit into SPI flash with the UEFI bootloader and Grub OS loader. Intel ® Quark™ SoC X1000 BSP Build and Software User Guide...
  • Page 19 TCLIBC variable selecting the C library to be used. To build an eglibc image, overwrite the default value of the DISTRO variable as follows: DISTRO="clanton-full" bitbake <image-name> Intel ® Quark™ SoC X1000 BSP Build and Software User Guide...
  • Page 20: Creating A Flash Image For The Board [Linux Build Environment Only]

    [sections] with associated address offsets, file names, and parameters. Each section must reference a valid file, so it is necessary to update the paths or create symbolic links to the valid files. Intel ® Quark™ SoC X1000 BSP Build and Software User Guide...
  • Page 21 9, then Section  FVMAIN.fv – board-specific recovery file. Section 14 for an overview of capsule recovery. If you are using the Intel ® Galileo board, refer to the Intel ® Galileo Board User Guide for details. For other boards, contact your Intel representative for details.
  • Page 22: Patching Flash Binary Files Using Platform Data File

    A data patching script is provided in this release. The platform data patching script (platform-data-patch.py) is stored in the platform-data directory within the spi-flash-tools tarball in the Intel ® Quark™ SoC BSP.
  • Page 23 This creates a Flash+PlatformData.bin file to be programmed on the board, as well as a sample-platform-data.bin file containing the same data that was inserted in the Flash image. To program your board using Dediprog, skip to Section Intel ® Quark™ SoC X1000 BSP Build and Software User Guide Order Number: 329687-007US...
  • Page 24: Programming Flash On The Board Using Serial Interface

    Build/QuarkPlatform/<Config>/<Target>_<Tools>/FV/Applications/) The BSP provides a mechanism to update SPI flash contents based on EDKII capsules. These capsules contain a BIOS, bootloader, and compressed Linux run-time system sufficent to boot a Quark-based board, such as the Intel ® Galileo board. The capsule update mechanism can be triggered from an EDKII shell (Section 10.1) or...
  • Page 25 You must use version 1.01 or later. 8. Enter the following command: CapsuleApp.efi Flash-missingPDAT.cap Note: You must enter the full filename of the Flash-missingPDAT.cap file. Intel ® Quark™ SoC X1000 BSP Build and Software User Guide Order Number: 329687-007US...
  • Page 26 DO NOT remove power or try to exit during this process. Wait for the prompt to return, otherwise your board will become non-functional. 9. When the update completes, the board will automatically reboot. You will see a display similar to this: Intel ® Quark™ SoC X1000 BSP Build and Software User Guide...
  • Page 27: Programming Flash Using Linux* Run-Time System

    0.8.0 are not used due to known issues: /sys/firmware/efi/capsule_update /sys/firmware/efi/capsule_path The capsule update method for Release 0.9.0 and later uses the following corrected entries: /sys/firmware/efi_capsule/capsule_update /sys/firmware/efi_capsule/capsule_path Intel ® Quark™ SoC X1000 BSP Build and Software User Guide Order Number: 329687-007US...
  • Page 28: Programming Flash On The Board Using Dediprog

    4. Select raw file format. 5. Select the Prog icon to flash the image onto the board. 6. Optionally select the Verify icon to verify that the image flashed correctly. Note: Intel recommends that you disconnect the programmer before booting the system. Intel ®...
  • Page 29: Booting The Board From Sd Card

    This also enables a persistent /sketch folder and rootfs. Dependencies:  You ran the command bitbake image-full in Section 6 (or bitbake image-full-galileo if using an Intel ® Galileo board)  Your SD card must meet the following requirements: ...
  • Page 30 SD association: https://www.sdcard.org/downloads/formatter_4/ It is not recommended to use normal operating system tools to format flash memory devices. Intel ® Quark™ SoC X1000 BSP Build and Software User Guide...
  • Page 31: Part 2 Using The Bsp Software

    Capsule update The BSP software provides a mechanism to update SPI flash contents based on EDKII capsules. These capsules contain a BIOS, bootloader, and compressed Linux run-time system sufficent to boot a Quark-based board, such as the Intel ® Galileo board.
  • Page 32: Capsule Recovery

    Galileo board, refer to the Intel ® Galileo Board User Guide for details. For other boards, contact your Intel representative for details on how to boot in recovery mode.  waiting for the recovery firmware to update the SPI flash and reboot the board Booting in recovery mode is board specific.
  • Page 33: Signing Files (Secure Sku Only) [Linux Build Environment Only]

    Key key.pem file. During development, all assets are signed with the default key that is stored in the config directory. The default key cannot be used in a production system; it is not secure due to its inclusion in the release package. Contact your Intel representative for details.
  • Page 34 The screenshots below show an example SD card with signature files:  Copy signature files core-image-minimal-initramfs-clanton.cpio.gz.csbh and bzImage.csbh to the root directory.  Copy grub.cbsh to the /boot/grub/ directory. Intel ® Quark™ SoC X1000 BSP Build and Software User Guide Order Number: 329687-007US...
  • Page 35: Enabling The Openocd Debugger

    Enabling the OpenOCD debugger Enabling the OpenOCD debugger Complete instructions for using the OpenOCD debugger can be found in the Source Level Debug using OpenOCD/GDB/Eclipse on Intel ® Quark™ SoC X1000 Application Note, see Appendix Intel ® Quark™ SoC X1000...
  • Page 36: Appendix A Related Documents

    Intel ® Quark™ SoC X1000 UEFI Firmware Writer’s Guide 330236 EDKII Update for Intel Quark™ SoC X1000 Software Release Notes 330729 ® Source Level Debug using OpenOCD/GDB/Eclipse on Intel ® Quark™ SoC X1000 Application Note 330015 https://communities.intel.com/docs/DOC-22203 Intel ® Quark™ SoC X1000 Datasheet 329676 https://communities.intel.com/docs/DOC-21828...
  • Page 37: Revision History

    Section 9, Patching flash binary files using platform data file (corrected filename). platform-data.ini Updated Section 14, Capsule recovery (added DediProg information). Updated with trademarked term: Intel ® Quark™ SoC. 04 March 2014 General updates for software release 1.0.0 including: Added Section 13, Capsule update.
  • Page 38: Legal Disclaimers

    Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm...

Table of Contents