usb-toolkit

Kithara »USB Toolkit«

Funktionsbibliothek für USB-Treiberentwicklung

Das »USB Toolkit« stellt alle wesentlichen Funktionsmechanismen für die Entwicklung von Treibern für USB-Geräte bereit.

Mit einem einfach anwendbaren API können Sie von der gewohnten Programmierumgebung aus auf Hardware-Komponenten zugreifen, als wenn Sie mit hohem Aufwand einen echten Gerätetreiber entwickeln würden.

Das »USB Toolkit« ist ein Werkzeug, mit dem Sie komfortabel USB-Treiber für Windows entwickeln oder fremde USB Hardware ansprechen, ohne sich in die aufwendige Kernel-Programmierung einarbeiten zu müssen.

Die gesamte Entwicklung erfolgt aus Ihrer gewohnten Programmierumgebung heraus, es werden die Programmiersprachen C/C++, Delphi und C# direkt unterstützt. Das »USB Toolkit« stellt einen generischen Treiber bereit, über den die Systemprogrammierer direkt mit den USB-Geräten kommunizieren können.

  • Kommunikation mit USB-Geräten über USB 1.1 und USB 2.0 von der Anwendungs- oder Kernel-Ebene
  • Unterstützt Geräte mit mehreren Interfaces und mehreren Konfigurationen
  • Reaktion auf alle Plug&Play und Power-Management-Ereignisse und auf eintreffende Daten direkt auf der Kernel-Ebene möglich
  • Sende- und Empfangsroutinen können direkt aus Echtzeitkontext heraus gerufen werden
  • Beliebige Gerätenamen, z.B. für virtuelle Schnittstellen
  • Generischer WDM-Treiber für Plug&Play-Installation enthalten
  • Unlimitierte Weitergabe der Runtime-Dateien
  • Nutzung der Kernel-Ebene unterstützt C/C++ oder Delphi (Win32 native)

Weitere Information siehe »Driver Collection«.

Hinweis: Eine individuelle Zusammenstellung der Funktionsmodule sowie Echtzeitfähigkeit erhalten Sie in der »RealTime Suite«.

Das »USB Toolkit« enthält die folgenden Module, wobei eventuell genannte Echtzeitfähigkeit nur gegeben ist, wenn das Modul Teil der »RealTime Suite« ist.

Basisfunktionen

Base Module

  • Supports the following operating systems: Windows 7 and Windows 8 (32 and 64 bit), Server 2008 R2, Vista, Server 2003 and XP as well as Embedded versions
  • Supports PIC and APIC hardware, multi-processor PCs, Hyper-threading, multi-core etc.
  • Functions for: opening the driver, device handling, version information, debugging support, system information
  • Application threads, events, callbacks, shared memory, data and message pipes, fast mutex objects
  • further information...

Kernel Module

  • Real-time code implementation at the kernel level
  • Real-time memory management, memory copy function
  • Only in connection with C/C++ or Delphi
  • Generic WDM-driver for plug & play installation included
  • further information...

Clock Module

  • Monitoring the system time in different time and user-specific formats, resolution up to 0.10 μs
  • Highly accurate short time delays
  • Long-term synchronization of system clocks, synchronization with EtherCAT Distributed Clocks (DC) and IEEE 1588

Kommunikation

Device Module

  • Includs a Windows programming interface for communication devices (ReadFile, WriteFile, DeviceIoControl)

  • Any device names possible, for example virtual "COM ports"

USB Module

  • Communication with USB devices to USB 2.0, low-, full, high-speed control, bulk, interrupt and isochronous transfers
  • Response to all Plug&Play- and power management events

Platforms

Real-time capability can only be achieved on the kernel level.

For this purpose a programming language is required that is able to generate native x86 or x64 machine code, e.g. C/C++ or Delphi. Nevertheless the »RealTime Suite« supports various platforms, for example a .NET environment.

The solution is, to transfer the time-critical code into a DLL, which will be loaded directly into the real-time context at the kernel level. The »RealTime Suite« provides all this functions.

Instantly usable program frameworks for the platforms mentioned above are part of every software delivery.

Systemvoraussetzungen

Die Produkte der »RealTime Suite« unterstützen eine breite Palette von Hardware- und Software-Kombinationen:

Bei Fragen zur Systemunterstützung kontaktieren Sie uns bitte!

Betriebssystem

Die Software unterstützt folgende Betriebssysteme:

  • Windows 7 (32- und 64-Bit) + Windows Embedded Standard 7
  • Windows Server 2008 R2 (64 Bit)
  • Windows Vista
  • Windows Server 2003
  • Windows XP + Windows XP Embedded
  • Windows 2000 (abgekündigt, Entwicklung eingestellt)

Hardware

Die Software läuft auf folgender Hardware:

  • CPU: AMD (ab Athlon) oder Intel (ab Pentium 2)
  • 32-Bit-Anwendungen auf 32-Bit-Windows oder 64-Bit-Anwendungen auf 64-Bit-Windows (32-Bit-Anwendungen auf 64-Bit-Windows erfordert "KiK64" und ist nur in der »RealTime Suite« verfügbar)
  • Single- oder Multi-Core, Hyperthreading, maximal 8 logische CPU-Kerne (darüber hinaus siehe »RealTime Suite«)
  • ACPI-System empfohlen (Advanced Control and Power Interface), APIC-System empfohlen (Advanced Programmable Interrupt Controller) - einige Funktionen erfordern APIC-ACPI

Compiler

Sofort verwendbare Programmgerüste für folgende Programmiersprachen/Compiler sind Teil der Software-Lieferung:

  • Visual Studio 20xx C++ mit MFC-Oberfläche
  • C++Builder (Embarcadero, ehem. Borland) mit VCL-Oberfläche
  • Delphi (Embarcadero, ehem. Borland) mit VCL-Oberfläche
  • Visual Studio 20xx C# mit WPF-Oberfläche (C++-DLL für Kernel-Ausführung)
  • Microsoft Visual C++ 6 mit MFC-Oberfläche
  • Achtung! Kernel-Ebene erfordert native Code-Erzeugung (C++/Delphi)