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 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: <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"> </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"> </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>