Kithara »Driver Collection«
Funktionsbibliothek für hardwarenahe Programmierung und Treiberentwicklung
Die »Driver Collection« stellt alle wesentlichen Funktionsmechanismen für hardwarenahe Programmierung und die Entwicklung von Treibern für Geräte und Hardware-Baugruppen bereit.
Mit einem umfassenden, aber 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.
Über I/O-Ports, physischen Speicher sowie Handler zur Reaktion auf Hardware-Interrupts lässt sich prinzipiell jede Hardware im PC ansprechen, soweit die Zugriffsdetails bekannt sind. Dabei werden zur hardwarenahen Programmierung alle bekannten Bustypen unterstützt: ISA, PCI, PCIe sowie PCMCIA, CardBus und ExpressCard sind einige Beispiele. Auch USB-Geräte lassen sich programmieren. Ebenfalls finden Sie Funktionen für Timer, Tastaturbehandlung und serielle Kommunikation über UART-Ports in diesem umfassenden Produkt!
Die Beliebtheit der »Driver Collection« zeigt, dass eine Vielzahl von Nutzern der Kithara-Produkte vor allem das breite Anwendungsgebiet der gesamten Produktreihe schätzen. Auch wenn dieses Produkt keine Echtzeiteigenschaften bereitstellt, so können doch umfangreiche hardwarenahe Projekte damit realisiert werden.
Hinweis: Eine individuelle Zusammenstellung der Funktionsmodule sowie Echtzeitfähigkeit erhalten Sie in der »RealTime Suite«.
- Direkter Zugriff auf alle I/O-Register des PCs (8 Bit, 16 Bit und 32 Bit)
- Direkter Zugriff auf physischen Speicher
- Leistungsfähige Mechanismen zur Interrupt-Programmierung
- Kommunikation mit USB-Geräten über USB 1.1 und USB 2.0
- Generischer WDM-Treiber für Plug&Play-Installation enthalten
- Bereitstellung eines Windows-Programmier-Interfaces für Gerätekommunikation
- Abfangen von Systemereignissen (FailSafe-Handler)
- Behandlung von PS/2-Tastaturereignissen
- Serielle UART-Kommunikation in Echtzeit
- Hochgenaue Ermittlung der Systemzeit und Kurzzeitverzögerungen
- Unlimitierte Weitergabe der Runtime-Dateien
- Nutzung der Kernel-Ebene unterstützt C/C++ oder Delphi (Win32 native)
Die »Driver Collection« 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...
System Module
- Interception of system events, e.g. faults and system crashes at the kernel level (e.g. FailSafe-Handler / "BlueScreen-Handler")
- further information...
Keyboard Module
- Processing of keyboard events PS/2 on the application or kernel level (only 32 bits)
- Interception of Ctrl-Alt-Del, Alt-Tab etc.
- Simulation of keyboard inputs
- further information...
Hardware-Zugriff
IoPort Module
- Access to all I/O registers of the PC application or DLL
- Determination of the PCI configuration data and resource data
Memory Module
- Access to external physical memory (Dual-Port-RAM)
- Provision of PC memory for external hardware (DMA memory)
Interrupt Module
- Processing of hardware interrupts at the application or kernel level
- Use of the operating system mechanisms for interrupt processing
- By using the RealTime Modules interrupts of PCI or PCIe Hardware can be processed
Kommunikation
Serial/UART Module
Serial communication in real-time by special hardware drivers on UART16550 compatible hardware
- Signal and handshake lines can be controlled directly
- Handler for all interface events in real time
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
Timer
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
Timer Module
- einfache Timer in Millisekundenauflösung auf Basis von Windows-Mechanismen (keine Echtzeit)
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)