![]() |
xFSTK
1.8.1-5.311
Intel SoC Cross Platform Firmware & Software Tool Kit
|
\section api_summary xFSTK Download API Summary
\title The xfstkdldrapi provides an interface to enable development of custom tools that perform fw/os download. Single target and multitarget support are built into the library.
Multitarget provisioning can be performed in either a single threaded manner or a multithreaded manner. For xFSTK 1.2.0 Async multithreaded parallel provisioning is
supported now for D1 silicon which support unique USB serial number on the device. Serial multitarget provisioning is only recommended if a very slow and old host is used.
Starting from xFSTK 1.2.2, API will support dynamic load from client app, example code is added to show how
to use this feature.
Starting from xFSTK 1.3.0 the libusb driver will be disabled for Windows release, instead a new USB driver
installer based on Jungo USB driver stack is icnluded, it also provided USB port mapping from the driver API so that xFSTK Client
Apps won't need to use WinDDK code to detect the USBSN/Port anymore.
Examples have been provided to enable experimentation
and development.
\sa \ref api_setup1 \"xFSTK API Setup (Windows XP/7/8)\"
\sa \ref api_setup2 \"xFSTK API Setup (Ubuntu 10.04 LTS - Linux)\"
\sa \ref xfstkdldrapi \"xFSTK Download API Documentation\"
\sa \ref xfstk-dldr-example-serial.cpp \"xfstk-dldr-example-serial.cpp\"
\sa \ref xfstk-dldr-example-parallel.cpp \"xfstk-dldr-example-parallel.cpp\"
\sa \ref xfstk-dldr-example-parallel-dynamic-load.cpp \"xfstk-dldr-example-parallel-dynamic-load.cpp\"
\section api_features xFSTK Download API Features
<ul>
<li>FW Only Download - One shot FW download via USB.
<li>OS Only Download - One shot OS download via USB.
<li>FW/OS Download - One shot FW/OS download via USB.
<li>FW/OS HVM Download - One shot FW/OS Async mode Parallel multi-target download via USB.
<li>Status Callback - Register a callback to obtain detailed status updates.
<li>User specified retry count - Retry counts for USB I/O errors specified by user.
<li>Get available targets - Scan the usb device tree for available SoC targets, provide device port mapping info to client Apps.
<li>Dynamic API DLL Load - Provide APIs to dynamically load xFSTK API DLL so that the client Apps don't need to link the lib file.
</ul>
\section api_class xFSTK Download API CLass
\image html xfstkbareclass.PNG
\section api_sequence xFSTK Provisioning Sequence (Serial Round Robin)
\image html xfstkserialseq.PNG
\page api_setup2 xFSTK API Setup (Ubuntu 10.04 LTS - Linux)
xFSTK Supports QT Creator IDE. Basic instructions for building the included examples under QT Creator are provided below.
Along with QT Creator there is one other pre-requisite package callled 'build-essential'. Both packages can be obtained through the Ubuntu 10.04 Software Center.
\image html xfstklinuxqtide.png
\image html build-essential.png
Begin by copying the xfstksdk.tar.gz file to your home directory.
\image html xfstklinuxsdksetup.png
Now unpack to obtain the following directory structure.
\image html xfstklinuxextracted.PNG
Browse into one of the examples to find the QT project file.
\image html xfstklinuxproopen.png
Now build the project.
\image html xfstklinuxbuildqt.PNG
\page api_setup1 xFSTK API Setup (Windows XP/7/8)
xFSTK supports both Visual Studio 2008 and QT Creator IDEs. Basic instructions for building the included examples under both IDEs are provided below.
\section api_windows_bkm xFSTK Multitarget Windows Driver Configuration
In order to enable multi-target provisioning the xFSTK driver must be installed for every USB port that will have a target connected to it. Follow the procedure below to ensure correct driver installation.
\image html xfstkwindowsmt.PNG
\section api_windows_setup Perparing the SDK
Begin by extracting the xfstk-sdk.zip located in the xFSTK installation folder.
\image html xfstksetup.PNG
Once extracted the following directory tree should be created:
\image html xfstkextractedwin.PNG
QT Version Information (Changes to include / lib paths may be required for newer QT versions)
\image html xfstkqtabout.PNG
QT Creator can be obtained at the official Nokia website:
http://qt.nokia.com/
QT Projects can be found in the mingw subdirectory:
\image html xfstkqtprojectopen.PNG
Once you have opened the project you can build the solution.
\image html xfstkideqt.PNG
Visual Studio Version Information
\image html xfstkvsabout.PNG
QT Visual Studio Plugin is recommended:
http://qt.nokia.com/downloads/visual-studio-add-in
Visual studio projects can be found in the msvc subdirectory.
\image html xfstkvsprojectopen.PNG
Once you have opened the project you can build the solution.
\image html xfstkvside.PNG
\page opensource_libs Opensource Libraries and Tools
Parts of this software use of the following opensource libraries and tools:
Library: Qt, License: Lesser General Public License (LGPL) (version 2.1)
Website: http://qt.nokia.com/
Library: Boost, License: Boost Software License
Website: http://www.boost.org/
Library: Open Icon Library , License: LGPL or PD
Website: http://openiconlibrary.sourceforge.net/
Library: flashrom, License: GNU General Public License version 2
Website: http://flashrom.org/Flashrom
Documentation: Doxygen
Website: http://www.stack.nl/~dimitri/doxygen/
Installer: InnoSetup
Website: http://www.jrsoftware.org/isinfo.php
Installer: Xfstk Downloader Tool, License: LGPL
Website: http://www.gnu.org/licenses/lgpl-2.1.txt
Installer: DediProg SF100 downloader SW
© 2006-2009 Dediprog Technology, CO., Ltd . All Rights Reserved.
Website: http://www.dediprog.com/home
\page manu Manufacturing Recommendations
\section reduce_host_load Reduce Load on Provisioning Hosts
Our testing has indicated that response times for detecting SoC targets can be delayed when the host machine is under
heavy load, such as during a virus scan. Hosts used for provisioning should have minimal system load while provisioning
to ensure the fastest response time from the host's operating system.
\section powered_hubs Use High Speed Ports and Powered Hubs
Intel SoC devices are hi-speed USB 2.0 devices. Firmware and OS provisioning should be done through hi-speed
ports on the provisioning host. If USB hubs are used they should also be hi-speed USB 2.0 devices and be powered
by an external power supply. Recomend to use the white SSK 7 ports high speed hub.
\section high_speed_usb_card Use High Speed PCI-E USB Cards
Our testing has indicated that provisioning is highly reliable when using quality high speed PCI-E USB cards for HVM firmware and OS provisioning.
Recomend to use Starteck PEXUSB400 4 ports PCI-E card.
\section Good_power_supply Use Good External Power Supply
Good power supply is required to power the SoU device during HVM manufacturing, it need to have suffient maximum current
for each SoU device at least 1.5A. Recomend to use Agilent E3614A or similar and better to use one power for each SoC device.
\section provide_feedback Provide Feedback
xFSTK is being actively developed to support Intel SoC products. Please help us to improve your business by providing
feedback on how you are currently using and want to use xFSTK.
1.8.18