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

Subversion Repositories usb_fpga_2_13

[/] [usb_fpga_2_13/] [trunk/] [java/] [ztex/] [package.html] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 ZTEX
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2
<html>
3
<head></head>
4
<body bgcolor="white">
5
The Java API of the <a href="http://www.ztex.de/firmware-kit/index.e.html">ZTEX EZ-USB SDK</a>.
6
<p>
7
This API is the host-side counterpart of the Firmware-Kit and allows user software to interact with
8
EZ-USB devices running with such firmware. It uses <a href="../ch/ntb/usb/package-summary.html">libusbJava</a>, a Java wrapper
9
for the libusb 0.1 and the libusb-win32 USB libraries. This API is known to run on Linux and Windows, but should work on every operating
10
system which supports libusb and Java.
11
<p>
12
<h2>Features</h2>
13
The main features are:
14
<ul>
15
    <li> Platform independent host software. It is possible to pack all necessary files (libusb libraries, firmware, bitstream) into
16
         one single jar archive which runs on both, Linux and Windows (and other OS's that support libusb and Java) </li>
17
    <li> Licensed as Open Source under GPLv3 </li>
18
    <li> Firmware upload directly into the EZ-USB Microcontroller</li>
19
    <li> Access to EEPROM memory</li>
20
    <li> Firmware upload to EEPROM</li>
21
    <li> Support of Flash memory </li>
22
    <li> Bitstream upload directly to the FPGA (for <a href="http://www.ztex.de/usb-fpga-1/usb-fpga-1.2.e.html">ZTEX USB-FPGA-Modules</a>)</li>
23
    <li> Bitstream upload to Flash memory (for <a href="http://www.ztex.de/usb-fpga-1/usb-fpga-1.2.e.html">ZTEX USB-FPGA-Modules</a>)</li>
24
</ul>
25
 
26
<p>
27
<h2>Interaction with the firmware</h2>
28
Firmware built using the <a href="http://www.ztex.de/firmware-kit/index.e.html">Firmware Development Kit</a> supports an additional descriptor, the ZTEX descriptor 1. This descriptor
29
identifies the device and firmware, provides compatibility information (e.g. to avoid that a device is loaded with the wrong firmware)
30
and specifies the communication protocol. A description of the descriptor is given in {@link ztex.ZtexDevice1}.
31
<p>
32
The communication protocol defines how the functions provided by the firmware (see main features above)
33
can be accessed. Currently there is only one protocol implemented, the so called interface 1.
34
A description of the interface is given in {@link ztex.Ztex1v1}.
35
<p>
36
The most importand classes for the interaction with the EZ-USB device / firmware are
37
<p>
38
<table bgcolor="#404040" cellspacing=1 cellpadding=4>
39
  <tr>
40
     <td bgcolor="#ffffff" valign="top">{@link ztex.ZtexDevice1}</td>
41
     <td bgcolor="#ffffff" valign="top">Represents an EZ-USB device that supports ZTEX descriptor 1. These devices can be found using {@link ztex.ZtexScanBus1}. </td>
42
  </tr>
43
  <tr>
44
     <td bgcolor="#ffffff" valign="top">{@link ztex.Ztex1}</td>
45
     <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>
46
  </tr>
47
  <tr>
48
     <td bgcolor="#ffffff" valign="top">{@link ztex.Ztex1v1}</td>
49
     <td bgcolor="#ffffff" valign="top">Implemenetaion of the Interface 1, i.e. the interface dependent part of the communication protocol.</td>
50
  </tr>
51
</table>
52
 
53
<p>
54
<h2>SDK overview</h2>
55
The following diagram gives an overview about the usage of the different parts of the <a href="http://www.ztex.de/firmware-kit/index.e.html">ZTEX EZ-USB SDK</a>.
56
<p>
57
<img src="../../imgs/ztex_firmware_kit-diagram.png" width="660" height="600" alt="ZTEX EZ-USB SDK overview for Linux and Windows">
58
<p>
59
The host software usually consists of a single jar archive which contains
60
<ul>
61
    <li> all necessary Java bytecode;  </li>
62
    <li> the libusb Java wrapper libraries for Linux (libusbJava.so) and Windows (libusbJava.dll), which are statically linked against libusb (no libusb installation required); </li>
63
    <li> the firmware for the EZ-USB device (unless not installed in EEPROM); </li>
64
    <li> Bitstream for the FPGA (if required). </li>
65
</ul>
66
This single jar archive runs on both, Linux and Windows (or other OS's that support libusb and Java).
67
<p>
68
On Linux this jar archive has no additional software requirements. The libusb(Java) library communicates directly with the EZ-USB device using kernel routines.
69
<p>
70
On Windows a libusb driver is required. (This driver is a part of the ZTEX SDK package). The libusb(Java) library communicates with the EZ-USB device using that driver.
71
 
72
<h2>Related Resources</h2>
73
For more information about this project visit the
74
<a href="http://www.ztex.de/firmware-kit/index.e.html">ZTEX EZ-USB SDK</a> page.
75
 
76
</body>
77
</html>

powered by: WebSVN 2.1.0

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