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/] [java/] [ztex/] [package-info.java] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 ZTEX
/*%
2
   Java host software API of ZTEX SDK
3
   Copyright (C) 2009-2017 ZTEX GmbH.
4
   http://www.ztex.de
5
 
6
   This Source Code Form is subject to the terms of the Mozilla Public
7
   License, v. 2.0. If a copy of the MPL was not distributed with this file,
8
   You can obtain one at http://mozilla.org/MPL/2.0/.
9
 
10
   Alternatively, the contents of this file may be used under the terms
11
   of the GNU General Public License Version 3, as described below:
12
 
13
   This program is free software; you can redistribute it and/or modify
14
   it under the terms of the GNU General Public License version 3 as
15
   published by the Free Software Foundation.
16
 
17
   This program is distributed in the hope that it will be useful, but
18
   WITHOUT ANY WARRANTY; without even the implied warranty of
19
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20
   General Public License for more details.
21
 
22
   You should have received a copy of the GNU General Public License
23
   along with this program; if not, see http://www.gnu.org/licenses/.
24
%*/
25
/**
26
The Java API of the <a href="http://www.ztex.de/firmware-kit/index.e.html">ZTEX SDK</a>.
27
<p>
28
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
29
for libusb 1.0.
30
<p>
31
<h2>Features</h2>
32
The main features are:
33
<ul>
34
    <li> Platform independent host software. It is possible to pack all necessary files (JNI libraries, firmware, bitstream) into
35
         one single jar archive which runs on all supported OS
36
    <li> Firmware upload directly to the EZ-USB FX2 and FX3 Microcontrollers
37
    <li> Firmware upload to non-volatile memory (EEPROM or Flash)
38
    <li> Bitstream upload directly to the FPGA
39
    <li> Bitstream upload to Flash memory
40
    <li> Access to various kinds of non-volatile memory (EEPROM, SPI-Flash, SD-cards)
41
    <li> Configuration memory (MAC-EEPROM) support
42
    <li> <a href="http://www.ztex.de/firmware-kit/default.e.html">Default Interface</a> support
43
        <ul>
44
            <li> Multiple communication interfaces: high speed, low speed, GPIO's, reset signal
45
            <li> Compatibility allows board independent host software
46
        </ul>
47
    </li>
48
    <li>Licensed as Open Source under GPLv3</li>
49
</ul>
50
 
51
<p>
52
<h2>Communication with the FPGA Board</h2>
53
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
54
identifies the device and firmware, provides compatibility information (e.g. to avoid that a device is loaded with the wrong firmware)
55
and specifies the communication protocol. A description of the descriptor is given in {@link ztex.ZtexDevice1}.
56
<p>
57
The communication protocol defines how the functions provided by the firmware (see main features above)
58
can be accessed. Currently there is only one protocol implemented, the so called interface 1.
59
A description of the interface is given in {@link ztex.Ztex1v1}.
60
<p>
61
The most important classes for the interaction with the EZ-USB device / firmware are
62
<p>
63
<table bgcolor="#404040" cellspacing=1 cellpadding=4>
64
  <tr>
65
     <td bgcolor="#ffffff" valign="top">{@link ztex.ZtexDevice1}</td>
66
     <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>
67
  </tr>
68
  <tr>
69
     <td bgcolor="#ffffff" valign="top">{@link ztex.Ztex1}</td>
70
     <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>
71
  </tr>
72
  <tr>
73
     <td bgcolor="#ffffff" valign="top">{@link ztex.Ztex1v1}</td>
74
     <td bgcolor="#ffffff" valign="top">Implementation of the Interface 1, i.e. the interface dependent part of the communication protocol.</td>
75
  </tr>
76
</table>
77
 
78
<p>
79
<h2>SDK overview</h2>
80
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>.
81
<p>
82
<img src="../../imgs/ztex_firmware_kit-diagram2.png" width="800" height="430" alt="SDK for ZTEX FPGA Boards">
83
<p>
84
Java host software built with the SDK usually consists in a single jar archive which contains
85
<ul>
86
    <li> all necessary Java bytecode </li>
87
    <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>
88
    <li> optional: the firmware for the EZ-USB device </li>
89
    <li> Bitstream for the FPGA </li>
90
</ul>
91
This single jar archive runs on all supported operating systems.
92
<p>
93
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.
94
<p>
95
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>.
96
The usb4java library communicates with the EZ-USB device using that driver.
97
 
98
<h2>Related Resources</h2>
99
Additional information can be found at
100
<ul>
101
  <li> <a href="http://www.ztex.de/firmware-kit/index.e.html">ZTEX SDK</a>
102
  <li> <a href="http://wiki.ztex.de/">ZTEX Wiki</a>
103
</ul>
104
*/
105
 
106
package ztex;

powered by: WebSVN 2.1.0

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