ZTEX

 
Produkte
FPGA-Board Serie 2
  USB-FPGA-Modul 2.18
  USB-FPGA-Modul 2.16
  USB-FPGA-Modul 2.14
  USB-FPGA-Modul 2.13
  USB-FPGA-Modul 2.12
  USB-FPGA-Modul 2.01
  FPGA-Modul 2.00
  Debug-Board
  Serie 1-Adapter
  Cluster-Board
Eingestellt:
  USB-FPGA-Modul 2.04
Veraltete Produkte
  FPGA-Board Serie 1
Zum ZTEX Shop ZTEX Shop
 SDK und Beispiele 
  Übersicht
  Standard-Firmware
  Dokumentation
  Downloads
  Beispiel
  Lizenzen
  Versions-Geschichte
  ZTEX Wiki
 
 
Downloads
 
Kontakt
Impressum
AGB
RoHS
 
    Hauptseite / Produkte         SDK    
    Zum ZTEX Shop Shop   
    Wiki         Downloads    
    deutsch     englisch    

SDK für ZTEX FPGA-Boards

Das SDK ist für ZTEX FPGA-Boards entwickelt, funktioniert aber auch mit anderer EZ-USB basierter Hardware. Das SDK besteht aus einem Firmware-Entwicklungskit für EZ-USB FX2- und FX3-Geräte, einer Java-API für die Host-Software, Werkzeugen und vielen Beispielen.

Das Paket ist quelloffen und kann unter verschiedenen Lizenzen genutzt werden. Ein einzigartiger Makro-Ansatz ermöglicht die Konfiguration der USB-Endpoints mit nur wenigen Makrobefehlen. Diese Eigenschaften unterscheiden das ZTEX SDK von Entwicklungen der Konkurrenz.

Das SDK läuft unter Linux und Windows (X86, 32 und 64 Bit) und ermöglicht die Entwicklung von plattformübergreifender Host-Software mittels einer Java-API.

Die vollständigen Systemvoraussetzungen werden auf der Wiki beschrieben.

SDK Übersicht

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

SDK for ZTEX FPGA Boards: Overview

Eigenschaften

Die Haupteigenschaften sind:
  • Firmware-Kit für EZ-USB FX2 Mikrocontroller:
    • In C geschrieben, erfordert SDCC-Compiler.
    • Zusammenbau der Firmware erfolgt mittels des leistungsstarkem Makro-Prozessors bmp, welcher es ermöglicht mit wenigen Makros alle erforderlichen Einstellungen festzulegen. Die benötigten USB-Deskriptoren und die dazugehörigen Routinen werden automatisch generiert.
  • Firmware-Kit für EZ-USB FX3 Mikrocontroller:
    • In C geschrieben, erfordert das Cypress-SDK einschließlich des GCC-Compilers
    • Zusammenbau der Firmware erfolgt mittels des normalen C-Makro-Prozessors CPP, welcher es ermöglicht mit wenigen Makros alle erforderlichen Einstellungen festzulegen. Die benötigten USB-Deskriptoren und die dazugehörigen Routinen werden automatisch generiert.
  • API für Hostsoftware:
    • Java-API mit vollem Funktionsumfang:
      • Ermöglicht Plattform-unabhängige Geräte-Software.
      • Dateien können aus .jar Archiven geladen werden, sodass Plattform-unabhängige Software-Pakete erstellt werden können, die aus nur einer .jar Datei bestehen.
    • Core-API eingeschränkten Funktionsumfang:
      • für C (weitere geplant)
      • Volle Unterstützung des Default-Interfaces
      • Hochladen des Bitstreams in FPGA
      • Hilfsfunktionen (Geräte finden, Geräteinfo, ...)
  • Funktionsumfang (Firmware und Java-API):
    • Hochladen der Firmware direkt in den EZ-USB FX2- und FX3-Mikrocontroller
    • Zugriff auf SPI-Flash
    • FX2: Zugriff auf EEPROM
    • Hochladen der Firmware in den EEPROM (FX2) und Flash (FX3)
    • FX2: Zugriff auf microSD/*SD/MMC Flash-Speicherkarten im SPI-Modus
    • FX3S: Zugriff auf SD-Karte (SDIO und andere Funktionen mittels Cypress-SDK nutzbar)
    • Hochladen des Bitstreams in das FPGA
    • Hochladen des Bitstreams in den Flash-Speicher
    • Automatische FPGA-Konfiguration aus dem Flash-Speicher während des Hochfahrens
    • Unterstützung von MAC-EEPROM, wird zum Speichern von Konfigurationsdaten genutzt
    • FX2: AVR ATxmega Unterstützung: Programmieren der Firmware, Zugriff auf die nicht-flüchtigen Speicher (NVM)
  • Default Firmware für FPGA-Boards der Serie 2
    • Hochladen des Bitstreams in den flüchtigen und nicht-flüchtigen Speicher
    • Mehrere Kommunikations-Schnittstellen: hohe Geschwindigkeit, niedrige Geschwindigkeit, GPIO's, Reset-Signal
    • Macht Firmware-Entwicklung in vielen Fällen überflüssig
    • HDL-Module für FPGA und API für Host-Software
    • Kompatibilität ermöglicht board-unabhängige Host-Software
  • DeviceServer (G)UI:
    • DeviceServer ist eine einfach zu benutzende Benutzerschnitstelle für ZTEX Boards
    • Zwei Zugriffsmethoden: HTTP (mittels Webbrowser) und ein einfaches Socket-Protokoll
    • Unterstützt Hochladen der Firmware und des Bitstreams in den flüchtigen und nicht-flüchtigen Speicher
    • Unterstützt E/A: Lesen und Schreiben von Endpoints
  • FWLoader-Werkzeug:
    • Kommandozeilen-Werkzeug zum Hochladen von Firmware und Bitstream
    • Unterstützt alle Lade-Methoden/-Ziele der API / des Firmware Kits
  • Als Open-Source unter GPLv3 lizenziert
  • viele Beispiele (z.B. Ansteuern von DDR/DDR2/DDR3 SDRAM, schnelle USB-Übertragungen, Zugriff auf Flash-Speicher)

Andere Programmiersprachen

Die JAVA-API implementiert Funktionen wie das Hochladen der Firmware und des Bitstreams. Allerdings gibt es mehrere Möglichkeiten die Host-Software in anderen Programmiersprachen zu entwickeln:
  • Wenn die Firmware und der Bitstream im nicht-flüchtigem Speicher (mittels FWLoader oder dem DeviceServer) geladen ist, wird die ZTEX-API nicht benötigt. In diesem Fall kann (fast) jede Programmiersprache und USB-API verwendet werden.
  • Der DeviceServer ermöglicht den Zugriff auf das FPGA Board mittels eines einfachen Socket-Interface. Es wird weder die ZTEX-API noch eine USB-API benötigt. Diese Art des Zugriffs funktioniert sogar mit einfachen Script-Sprachen.
  • Die Host-Software kann FWLoader zum Hochladen des Bitstream und der Firmware aufrufen. Fast jede Programmiersprache und USB-API kann so verwendet werden.


[Home]  [Impressum]   
© ZTEX GmbH