OpenCores
URL https://opencores.org/ocsvn/usb_fpga_2_14/usb_fpga_2_14/trunk

Subversion Repositories usb_fpga_2_14

[/] [usb_fpga_2_14/] [trunk/] [docs/] [java/] [ztex/] [package-summary.html] - Rev 2

Compare with Previous | Blame | View Log

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="de">
<head>
<!-- Generated by javadoc (version 1.7.0_79) on Wed Mar 22 19:20:13 CET 2017 -->
<title>ztex</title>
<meta name="date" content="2017-03-22">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="ztex";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../ztex/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li><a href="../index-all.html">Index</a></li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Package</li>
<li>Next Package</li>
</ul>
<ul class="navList">
<li><a href="../index.html?ztex/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;ztex</h1>
<div class="docSummary">
<div class="block">The Java API of the <a href="http://www.ztex.de/firmware-kit/index.e.html">ZTEX SDK</a>.</div>
</div>
<p>See:&nbsp;<a href="#package_description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../ztex/ConfigData.html" title="class in ztex">ConfigData</a></td>
<td class="colLast">
<div class="block">This class represents the configuration data space of ZTEX FPGA Boards that support it.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../ztex/EzUsb.html" title="class in ztex">EzUsb</a></td>
<td class="colLast">
<div class="block">Provides methods for uploading firmware to Cypress EZ-USB devices.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../ztex/Fx3Errors.html" title="class in ztex">Fx3Errors</a></td>
<td class="colLast">
<div class="block">FX3 runtime error strings</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../ztex/ImgFile.html" title="class in ztex">ImgFile</a></td>
<td class="colLast">
<div class="block">A class representing a firmware image.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../ztex/JInputStream.html" title="class in ztex">JInputStream</a></td>
<td class="colLast">
<div class="block">Creates an input stream from a regular file or a system resource file (i.e. a file from the current jar file).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../ztex/Ztex1.html" title="class in ztex">Ztex1</a></td>
<td class="colLast">
<div class="block">This class implements the interface-independent part of the communication protocol for the interaction with the ZTEX firmware.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../ztex/Ztex1v1.html" title="class in ztex">Ztex1v1</a></td>
<td class="colLast">
<div class="block">This class implements the communication protocol of the interface version 1 for the interaction with the ZTEX firmware.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../ztex/ZtexContext.html" title="class in ztex">ZtexContext</a></td>
<td class="colLast">
<div class="block">This class manages an USB context.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../ztex/ZtexDevice1.html" title="class in ztex">ZtexDevice1</a></td>
<td class="colLast">
<div class="block">A class representing an EZ-USB device that supports the ZTEX descriptor 1 or an unconfigured EZ-USB device.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../ztex/ZtexEventHandler.html" title="class in ztex">ZtexEventHandler</a></td>
<td class="colLast">
<div class="block">This class defines an event handler thread which can be used in asynchronous mode.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../ztex/ZtexImgFile1.html" title="class in ztex">ZtexImgFile1</a></td>
<td class="colLast">
<div class="block">Represents a firmware image with ZTEX descriptor 1.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../ztex/ZtexScanBus1.html" title="class in ztex">ZtexScanBus1</a></td>
<td class="colLast">
<div class="block">A class for scanning the USB for EZ-USB devices.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../ztex/ZtexUsbReader.html" title="class in ztex">ZtexUsbReader</a></td>
<td class="colLast">
<div class="block">A helper class to implement asynchronous bulk and interrupt read transfers.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../ztex/ZtexUsbWriter.html" title="class in ztex">ZtexUsbWriter</a></td>
<td class="colLast">
<div class="block">A helper class to implement asynchronous bulk and interrupt write transfers.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
<caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Exception</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../ztex/AlreadyConfiguredException.html" title="class in ztex">AlreadyConfiguredException</a></td>
<td class="colLast">
<div class="block">Thrown if the FPGA is already configured.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../ztex/BitstreamReadException.html" title="class in ztex">BitstreamReadException</a></td>
<td class="colLast">
<div class="block">Signals that an error occurred while attempting to read a bitstream.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../ztex/BitstreamUploadException.html" title="class in ztex">BitstreamUploadException</a></td>
<td class="colLast">
<div class="block">Signals that an error occurred while attempting to upload the bitstream.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../ztex/CapabilityException.html" title="class in ztex">CapabilityException</a></td>
<td class="colLast">
<div class="block">Thrown is a required capability is not available.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../ztex/DeviceLostException.html" title="class in ztex">DeviceLostException</a></td>
<td class="colLast">
<div class="block">Thrown if a device went lost after renumeration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../ztex/DeviceNotSupportedException.html" title="class in ztex">DeviceNotSupportedException</a></td>
<td class="colLast">
<div class="block">Thrown if a device is not supported, i.e. has the wrong USB ID's.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../ztex/FirmwareUploadException.html" title="class in ztex">FirmwareUploadException</a></td>
<td class="colLast">
<div class="block">Signals that an error occured while attempting to upload the firmware.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../ztex/ImgFileDamagedException.html" title="class in ztex">ImgFileDamagedException</a></td>
<td class="colLast">
<div class="block">Signals that a firmware image is corrupt.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../ztex/ImgParseException.html" title="class in ztex">ImgParseException</a></td>
<td class="colLast">
<div class="block">Signals that an error occurred while attempting to decode the firmware file.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../ztex/IncompatibleFirmwareException.html" title="class in ztex">IncompatibleFirmwareException</a></td>
<td class="colLast">
<div class="block">Thrown while attempting to overwrite an existing firmware with an incompatible one.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../ztex/InvalidFirmwareException.html" title="class in ztex">InvalidFirmwareException</a></td>
<td class="colLast">
<div class="block">Thrown if a device runs with no or the wrong firmware, i.e. if the ZTEX descriptor is not found or damaged.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../ztex/UsbException.html" title="class in ztex">UsbException</a></td>
<td class="colLast">
<div class="block">Signals an USB error.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package_description">
<!--   -->
</a>
<h2 title="Package ztex Description">Package ztex Description</h2>
<div class="block">The Java API of the <a href="http://www.ztex.de/firmware-kit/index.e.html">ZTEX SDK</a>.
<p>
This API implements access to all ZTEX FPGA Board specific functions from host side. It uses <a href="http://usb4java.org">usb4java</a>, a Java wrapper
for libusb 1.0. 
<p>
<h2>Features</h2>
The main features are:
<ul>
    <li> Platform independent host software. It is possible to pack all necessary files (JNI libraries, firmware, bitstream) into
         one single jar archive which runs on all supported OS 
    <li> Firmware upload directly to the EZ-USB FX2 and FX3 Microcontrollers
    <li> Firmware upload to non-volatile memory (EEPROM or Flash)
    <li> Bitstream upload directly to the FPGA
    <li> Bitstream upload to Flash memory
    <li> Access to various kinds of non-volatile memory (EEPROM, SPI-Flash, SD-cards)
    <li> Configuration memory (MAC-EEPROM) support
    <li> <a href="http://www.ztex.de/firmware-kit/default.e.html">Default Interface</a> support
        <ul>
            <li> Multiple communication interfaces: high speed, low speed, GPIO's, reset signal
            <li> Compatibility allows board independent host software
        </ul>
    </li>
    <li>Licensed as Open Source under GPLv3</li>
</ul>    
 
<p>
<h2>Communication with the FPGA Board</h2>
Firmware built using the <a href="http://www.ztex.de/firmware-kit/index.e.html">ZTEX SDK</a> supports an additional descriptor, the ZTEX descriptor 1. This descriptor 
identifies the device and firmware, provides compatibility information (e.g. to avoid that a device is loaded with the wrong firmware)
and specifies the communication protocol. A description of the descriptor is given in <a href="../ztex/ZtexDevice1.html" title="class in ztex"><code>ZtexDevice1</code></a>.
<p>
The communication protocol defines how the functions provided by the firmware (see main features above)
can be accessed. Currently there is only one protocol implemented, the so called interface 1. 
A description of the interface is given in <a href="../ztex/Ztex1v1.html" title="class in ztex"><code>Ztex1v1</code></a>.
<p>
The most important classes for the interaction with the EZ-USB device / firmware are
<p>
<table bgcolor="#404040" cellspacing=1 cellpadding=4>
  <tr>
     <td bgcolor="#ffffff" valign="top"><a href="../ztex/ZtexDevice1.html" title="class in ztex"><code>ZtexDevice1</code></a></td>
     <td bgcolor="#ffffff" valign="top">Represents an EZ-USB device that supports ZTEX descriptor 1. These devices can be found using <a href="../ztex/ZtexScanBus1.html" title="class in ztex"><code>ZtexScanBus1</code></a>. </td>
  </tr>
  <tr>
     <td bgcolor="#ffffff" valign="top"><a href="../ztex/Ztex1.html" title="class in ztex"><code>Ztex1</code></a></td>
     <td bgcolor="#ffffff" valign="top">Implementation of interface-independent part of the communication protocol, e.g. uploading the firmware to the EZ-USB and renumeration management.</td>
  </tr>
  <tr>
     <td bgcolor="#ffffff" valign="top"><a href="../ztex/Ztex1v1.html" title="class in ztex"><code>Ztex1v1</code></a></td>
     <td bgcolor="#ffffff" valign="top">Implementation of the Interface 1, i.e. the interface dependent part of the communication protocol.</td>
  </tr>
</table>
 
<p>
<h2>SDK overview</h2>
The following diagram gives an overview about the components of the <a href="http://www.ztex.de/firmware-kit/index.e.html">ZTEX SDK</a>.
<p>
<img src="../../imgs/ztex_firmware_kit-diagram2.png" width="800" height="430" alt="SDK for ZTEX FPGA Boards">
<p>
Java host software built with the SDK usually consists in a single jar archive which contains 
<ul>
    <li> all necessary Java bytecode </li>
    <li> the libusb-1.0 JNI wrapper libraries for Linux/X86 (32 and 64 Bit), Linux/ARM (32 Bit), Windows/X86 (32 and 64 Bit) and OSX/X86 (32 and 64 Bit) </li>
    <li> optional: the firmware for the EZ-USB device </li>
    <li> Bitstream for the FPGA </li>
</ul>
This single jar archive runs on all supported operating systems.
<p>
On Linux this jar archive has no additional software requirements. The usb4java/libusb-1.0 library communicates directly with the EZ-USB device using kernel routines.
<p>
On Windows a libusb-1.0 driver must be installed and assigned to the device, see the <a href="http://wiki.ztex.de/doku.php?id=en:software:tutorial_example">Tutorial on the Wiki</a>.
The usb4java library communicates with the EZ-USB device using that driver.
 
<h2>Related Resources</h2>
Additional information can be found at 
<ul> 
  <li> <a href="http://www.ztex.de/firmware-kit/index.e.html">ZTEX SDK</a>
  <li> <a href="http://wiki.ztex.de/">ZTEX Wiki</a>
</ul></div>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../ztex/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li><a href="../index-all.html">Index</a></li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Package</li>
<li>Next Package</li>
</ul>
<ul class="navList">
<li><a href="../index.html?ztex/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.