topic_realtimesuite

Kithara Real-time – General Functions

The »RealTime Suite« is a modular real-time extension for Windows. As a function library it covers a wide range of different areas, that are necessary for PC-based automation:

  • Real-time multi-tasking system
  • Hardware-dependent programming
  • Real-time communication
  • Automation or Fieldbus protocols
  • Real-time image processing
  • Automotive protocols

Real-time for Windows

With the »RealTime Suite« it is possible to develop applications for Windows in a simple way, which meet the requirements of “hard” real-time.

The general functions of the modular »RealTime Suite« consist of following components:

  • General management, debugging-support, system information, basic resources, device-handling (“Base Module”),
  • Required for programming at kernel level, capable of real-time memory management etc. (“Kernel Module”),
  • mathematical/trigonometric and string/memory functions in real-time (“Runtime Library”),
  • Interception of system events, Fail-Safe-Handler (“System Module”),

Base Module

General management, debugging-support, system information, basic resources, device-handling

  • Common
  • Features

The Base Module is commonly the basis for every real-time system developed with the »RealTime Suite«. It provides functions for opening the real-time driver from the Windows application; for common management tasks, version information and helper functions for debugging and for determining system information.

Additionally, it contains mechanisms for fundamental resources, e.g. like application threads, events, callbacks, shared memory, data and message pipes and fast mutex objects.

  • Functions for opening the driver
  • Retrieve error descriptions
  • Version information
  • Debugging support
  • Determining system information
  • Application threads
  • Functions for event and callback objects, fast mutex objects
  • Functions for shared memory
  • Data and message pipes with automatic decoupling between writing and reading side
  • Device information, driver management
  • Generated log messages compatible to Kithara Kernel Tracer

Kernel Module

Required for programming at kernel level, capable of real-time memory management etc.

  • Common
  • Features

The Kernel Module is required to execute real-time code at kernel level and thus enables a real-time context. For this, every language is supported, which has the ability to generate machine codes for the target platform (32 bit or 64 bit). In general these languages are C/C++ or Delphi. However, other languages are also possible.

Furthermore, the Kernel Module supports real-time memory management, memory copy, and generic WDM drivers for plug&play installation.

  • Required for execution of real-time code at kernel level
  • Possibility of relocating instruction of single functions (only 32 bit)
  • DLLs are loaded directly into real-time context
  • Real-time memory management
  • Memory copy function for real-time context
  • Requires native machine code execution only in connection with C/C++ or Delphi
  • generic WDM driver for plug&play installation included
  • Kernel Module Addons: Kernel CPU Extension, Kernel Memory Extension

System Module

Interception of system events, Fail-Safe-Handler

  • Common
  • Features

The System Module provides the interception of system events, e.g. protection faults and system crashes at the kernel level. For that purpose pre-registered handler (Callback functions or real-time tasks) can be started. Thus,  FailSafe handler ("BlueScreen handler") can be implemented and in case of an error a predefined reaction can be executed.

  • Interception of system events with Callback functions and real-time tasks
  • In the case of protection faults and system crashes at the kernel level
  • Implementation of FailSafe handler ("BlueScreen handler")