首页 > 代码库 > Tutorial – Kithara RTS
Tutorial – Kithara RTS
Tutorial
The Kithara ?RealTime Suite? (KRTS) is a real-time extension for Windows, which currently contains more than 20 different functional modules.
In this tutorial, we try to explain every functional aspect, from starting with a simple program until the more complex features.
Although the ?RealTime Suite? comes in form of a custom driver with a user-defined name in most cases, we call it in this tutorial KrtsDemo like the test version you can request on our download page (we will contact you before sending the software).
The following tutorial pages show special aspects of the ?RealTime Suite?:
Basic Functions
-
“Hello real-time world!” — The First Project
-
How to do the error handling
-
Creating threads and how they are prioritized
How to get to the kernel-mode / real-time context
-
Introduction to the Kernel Mode
-
How to create and debug a kernel DLL for the real-time context
Creating resources
-
What you need to know about Shared Memory
-
Using Pipes for easy and secure data exchange
-
Synchronization with events
-
Synchronization with QuickMutex objects
-
How and where to create which callbacks
The Difference Between 32-bit and 64-bit Windows
-
32-bit and 64-bit Windows, drivers/kernels, applications and DLLs
-
What does "KiK64" (Kithara32-in-Kithara64) do and existing restrictions
Considering Different Programming Languages
-
Circumstances and special requirements for C#.NET in the ?RealTime Suite?
Real-time Timers, Multi-Tasking & Dedicated
-
Setting up timers for real-time
-
How to setup CPUs for the Dedicated Mode?
-
Programming with multiple tasks (priorities, semaphores, multiple CPU cores)
Communication
-
High-speed Ethernet with real-time drivers (TCP, UDP)
-
Use cases of the Virtual Network Adapter and Windows connections
-
Serial communication with the UART API
-
Accessing USB devices
-
Processing CAN messages in real-time
-
Processing LIN messages in real-time
Automation
-
Real-time automation with the EtherCAT Master
-
The EtherCAT state machine
-
How to do PDO mapping and PDO assignment
-
Hot-plugging EtherCAT slaves
-
EtherCAT with Distributed Clocks (DC) and synchronized with PC timers
-
How to speed-up EtherCAT initialization
-
Using an EtherCAT Slave Device
-
EtherCAT Automation Protocol (EAP)
-
A CANopen Master for control applications
-
PLC applications according to IEC 61131-3
Image Processing
-
Real-time GigE Vision image acquisition and processing with the Camera module
-
Vision with Halcon
Hardware Access
-
How to look for devices and change drivers
-
Accessing digital and analog I/O boards with the MultiFunction module
-
Preallocation of physical memory
Libraries
-
Real-time signal processing with the SigProc module
Other modules (under construction)
-
Scanning for PCI devices (what address/IRQ has my PCI hardware?)
-
Access to I/O ports
-
Using internal or external physical memory
-
Interrupt handling on PCI/PCIe cards
-
How to write your own multifunction driver dll
-
How to write your own hardware driver for the ?RealTime Suite?
-
Serial communication on RS232/RS485
-
Creating "virtual COM ports"
-
Different ways of external events into your code
You did not find an answer to your question? Please ask our technical support!