ZTEX

 
Produkte
FPGA-Boards
  USB-FPGA-Modul 1.15
  USB-FPGA-Modul 1.15x
  USB-FPGA-Modul 1.15y
  USB-FPGA-Modul 1.11
  USB-FPGA-Modul 1.2
  Experimentierboard 1.3
  Experimentierboard 1.2
  Analog-Experimentierboard
  Stromversorgungs-Modul 1.1
  Referenz-Designs
USB-Mikrocontroller Boards
  USB-Modul
  USB-XMEGA-Modul
Zum ZTEX Shop ZTEX Shop
SDK und Beispiele
  Übersicht
  Dokumentation
  Downloads
  Beispiel
  Versions-Geschichte
  ZTEX Wiki
 
  BTCMiner - Bitcoin-Miner
OS Rabattprogramm
 
Downloads
 
Kontakt
Impressum
AGB
RoHS
 
    Hauptseite / Produkte         SDK    
    Zum ZTEX Shop Shop   
    Wiki / Foren         Downloads    
    deutsch     englisch    

ZTEX EZ-USB FX2 SDK

Das SDK ist speziell für die ZTEX Boards entwickelt, funktioniert aber auch mit anderer EZ-USB FX2 basierter Hardware. Das SDK besteht aus einem Firmware-Entwicklungskit mit dazugehörigem API zur Entwicklung der Host-Software.

Das Paket ist quelloffen und wird wird unter GPLv3 vertrieben. Ein einzigartiger Makro-Ansatz gibt Entwicklern ein Maximum an Flexibilität beim Konfigurieren der USB-Endpoints nur durch den Aufruf einiger Makros und ohne die Notwendigkeit des Studiums der USB-Spezifikationen. Diese Eigenschaften unterscheiden das ZTEX SDK von Entwicklungen der Konkurrenz.

Das Paket läuft unter Linux und Windows (beide 32 und 64 Bit), sollte aber auch auf jeder anderen Plattform laufen, welche libusb und Java unterstützt, siehe auch Portierungsseite auf der Wiki. Die Java-Treiber-API ermöglicht die Entwicklung von plattformübergreifenden Geräte-Treibern.

Eigenschaften

Die Haupteigenschaften sind:
  • Firmware-Kit (für EZ-USB FX2 Mikrocontroller) in C geschrieben (erfordert SDCC-Compiler).
  • Zusammenbau der Firmware erfolgt mittels eines leistungsstarkem Makro-Prozessors, welcher es ermöglicht mit wenigen Makros alle erforderlichen Einstellungen festzulegen. Die benötigten USB-Deskriptoren und die dazugehörigen Routinen werden automatisch generiert.
  • Hostsoftware-API ist in Java geschrieben und ermöglicht Plattform-unabhängige Geräte-Treiber.
  • Als Open-Source unter GPLv3 lizenziert
  • Hauptfunktionen des Firmware-Kits / Treiber-API's:
    • Hochladen der Firmware direkt in den EZ-USB FX2 Mikrocontroller
    • EEPROM-Interface zum Lesen / Scheiben von Daten in den / aus dem EEPROM-Speicher
    • Hochladen der Firmware in den EEPROM
    • Zugriff auf microSD/*SD/MMC Flash-Speicherkarten im SPI-Modus
    • Hochladen des Bitstreams in das FPGA (all USB-FPGA Module)
    • Hochladen des Bitstreams in den Flash-Speicher und autonome FPGA-Konfiguration aus dem Flash-Speicher (alle USB-FPGA Module)
    • Unterstützung von schneller FPGA-Konfiguration mittels CPLD auf Spartan 6 LX45 bis LX150 USB-FPGA-Module 1.15 (bis 24MByte/s via USB, bis 2.5MByte/s von microSD
    • AVR ATxmega Unterstützung: Programmieren der Firmware, Zugriff auf die nicht-flüchtigen Speicher (NVM)
    • Unterstützung von MAC-EEPROM
  • viele Beispiele (z.B. Ansteuern von SDRAM, schnelle USB-Übertragungen, Zugriff auf Flash-Speicher)

SDK Übersicht

Das folgende Diagramm gibt einen Überblick über den Einsatz der verschiedenen Bestandteile des ZTEX EZ-USB FX2 SDK.

ZTEX EZ-USB FX2 SDK Übersicht unter Linux und Windows

Die Firmware des EZ-USB FX2-Gerätes wird mit dem Firmware-Entwicklungskit erstellt. Sie kann entweder mittels eines Hilfsprogramms oder durch die Hostsoftware durch Verwendung der Java API hochgeladen werden.

Die Hostsoftware besteht meistens aus einem einzigem jar-Archiv mit folgendem Inhalt:

  • Aller notwendiger Java-Bytecode
  • Die libusb Java Wrapper-Bibliotheken für Linux (libusbJava.so) und Windows (libusbJava.dll), welche statisch gegen libusb (d.h. keine libusb Installation erforderlich)
  • Die Firmware für das EZ-USB FX2-Gerät (sofern nicht bereits im EEPROM installiert)
  • Der Bitstream für das FPGA (sofern erforderlich)
Dieses eine jar-Archiv läuft sowohl unter Linux als auch unter Windows (oder allen anderen Betriebssystemen welche libusb und Java unterstützen.)

Unter Linux hat dieses jar-Archiv keine weiteren Abhängigkeiten, da libusb(Java) direkt unter Zuhilfenahme von Kernel-Routinen mit dem EZ-USB FX2-Gerät kommuniziert.

Unter Windows ist der libusb-Treiber erforderlich. (Dieser Treiber ist Bestandteil des ZTEX SDK-Paketes). Die libusb(Java)-Bibliothek kommuniziert mit dem EZ-USB FX2-Gerät über diesen Treiber.

Andere Programmiersprachen

Die JAVA-API wird benötigt, um Funktionen wie das Hochladen der Firmware und des Bitstreams in die Host-Software zu integrieren. Wird stattdessen das externe FWLoader-Werkzeug benutzt, kann die Host-Software in jeder anderen Programmiersprache geschrieben werden.

Ein C-Beispiel, welches die libusb-Bibliothek für die USB-Kommunikation verwendet, ist im SDK und auf der Beispiele-Seite enthalten.

Systemvoraussetzungen

Die Systemvoraussetzungen für das Kompilieren der Firmware und der Treiber sind Die Systemvoraussetzungen für das Ausführen der Beispiele bzw. der selbst erstellten Software sind


[Home]  [Impressum]   
© ZTEX GmbH