Real-Time Extensions
Basic Functions
Kithara RealTime Suite is a real-time extension for Windows. As a function library, it covers a wide range of different areas that are required for PC-based automation:
-
Real-time multitasking system
-
Hardware-dependent programming
-
Real-time communication
-
Automation and fieldbus protocols
-
Real-time machine vision
-
Automotive protocols
Modules
The basic functions of the modular system of Kithara RealTime Suite consist of the following components:
-
General management, execution of real-time code at kernel level, real-time memory management, debugging support, system information
Base/Kernel Module
-
Interception of system events, fail-safe handler
System Module
-
Mathematical/trigonometrical and string/memory functions in real time
Runtime Library
General management, debugging-support, system information, basic resources, device-handling
-
Common
-
Features
-
Supported Hardware
-
Extensions
The Base/Kernel Module is generally the basis for every real-time system of Kithara RealTime Suite. It provides functions for opening the real-time driver from the Windows application as well as for the execution of real-time code at kernel level in order to reach the real-time context. It enables functions for general management tasks, version information and helper functions for debugging and for determining system information. It also contains mechanisms for fundamental resources such as real-time tasks, events, callbacks, shared memory, data and message pipes and fast mutex objects. Additonally, it provides functions for real-time memory management, memory copy as well as generic WDM drivers for plug-and-play installation. The integrated KiK64 allows for 32-bit code to run on 64-bit systems (only with the 64-bit version of Kithara RealTime Suite)
-
Functions for opening the driver
-
Execution of real-time code at kernel level
-
Retrieve error descriptions
-
Debugging support
-
Determining system information
-
Real-time tasks
-
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
-
Real-time memory management
-
Memory copy function for real-time context
-
Generic WDM driver for plug-&-play installation included
-
Generated log messages compatible to Kithara Kernel Tracer
-
KiK64 function: 32-bit code executable on 64-bit systems (only with the 64-bit version of Kithara RealTime Suite)
-
Only languages that can generate native machine code (C/C++ or Delphi)
-
Base/Kernel Module Addons: Kernel CPU Extension, Kernel Memory Extension
The following system requirements are necessary:
-
Support of the CMPXCHG8B/CMPXCHG16B CPU instruction
Kernel NUMA Extension
Use of multi-socket systems with “non-uniform memory access” architecture in real time, automatic optimization of memory allocation.
Thunderbolt Extension
Support for devices connected with Thunderbolt.
System Module
Interception of system events, Fail-Safe-Handler
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”)
Runtime Library
Mathematical/trigonometric and string/memory functions in real-time
For the execution of application codes in a real-time context, functions of the common runtime library are often required. However, they are possibly not qualified for real-time execution. Therefore, the Runtime Library provides real-time modified functions of the C-standard library, including mathematical/trigonometric and string/memory functions in real-time.
-
Specific real-time based implementation of C-standard library functions
-
More than 20 mathematical/trigonometric functions (e. g. cos, tan, arcus and hyperbolicus functions, exp, log, pow, sqrt, floor, ceil)
-
More than 20 string/memory functions (e. g. memcpy, memset, strlen, strcmp, strcpy, strcat, strtok)
-
Supports application and kernel level