实时扩展
一般特征
Kithara实时套件是一个Windows实时扩展模块。作为一个函数库,它涵盖了大部分基于PC自动化的不同领域:
-
实时多任务系统
-
硬件相关编程
-
实时通信
-
自动化和现场总线协议
-
实时图像处理
-
Automotive protocols
模块
用Kithara实时套件能够很方便的进行Windows应用程序的开发,并满足”硬“实时的要求。模块的常规功能包括以下几部分:
-
常规管理,支持调试,系统信息,基本资源,设备的处理
基础模块。
-
需要在内核层进行编程,能进行实时内存管理等
内核模块。
-
拦截系统事件,安全故障处理程序
系统模块。
负责整体管理,在操作系统内核层级执行,实现实时内存管理,提供调试支持,系统信息展示,基础资源管理以及设备操控功能。
Base/Kernel Module通常是Kithara RealTime Suite每个实时系统的基础,因此始终是必备组件。它提供了从Windows应用程序启动实时驱动的功能,以及在内核级别执行实时代码以达到实时环境的能力。该模块支持完成一般管理任务的函数、版本信息查询以及用于调试和获取系统信息的帮助函数。
它还包含了应用线程、事件、回调、共享内存、数据和消息管道及快速互斥对象等基本资源的管理机制。此外,模块还提供了实时内存管理、内存复制功能以及即插即用安装所需的通用WDM驱动。集成的KiK64功能允许32位代码在64位系统上运行(仅限64位版本的Kithara RealTime Suite)。
最多 12 个逻辑 CPU(包括超线程),以上需要内核 CPU 扩展。
最多 32 GB RAM,以上需要内核内存扩展。
-
驱动加载功能:用于启动实时驱动的函数。
-
内核级实时代码执行:在操作系统内核层面执行实时代码。
-
错误描述获取:检索详细的错误描述信息。
-
调试辅助:内置调试支持工具。
-
系统信息获取:收集并展示系统详细信息。
-
应用线程管理:创建和管理应用线程。
-
事件与回调处理:事件对象与回调函数的调用机制。
-
快速互斥体:用于同步的快速互斥对象功能。
-
共享内存操作:共享内存区域的分配与访问方法。
-
数据与消息管道:带自动写读解耦的数据与消息传输管道。
-
设备与驱动管理:查询设备信息及驱动管理工具。
-
实时内存管理:针对实时需求优化的内存管理方案。
-
实时内存复制:适用于实时环境的高效内存复制功能。
-
通用WDM驱动:内置即插即用安装所需的通用WDM驱动。
-
生成与 Kithara Kernel Tracer 兼容的日志消息
-
KiK64功能:允许32位代码在64位系统上运行(仅适配Kithara RealTime Suite的64位版本)。
-
支持语言:仅限能生成原生机器代码的语言(如C/C++或Delphi)。
-
Base/Kernel Module Addons: Kernel CPU Extension, Kernel Memory Extension
以下是必要的系统要求:
-
CMPXCHG8B/CMPXCHG16B CPU指令集支持:系统需支持该CPU指令集。
Kernel CPU Extension
可扩展使用最多 48 个逻辑 CPU(更多可根据要求提供)
Kernel Memory Extension
使用额外 PC RAM 的扩展
-
扩展级别:高达 128 GB
-
无限级别(需要扩展级别):无限制
Kernel NUMA Extension
使用具有“非均匀内存访问”的多插槽系统 实时架构,自动优化内存分配。
Thunderbolt Extension
支持与 Thunderbolt 连接的设备。
System Module
系统模块提供对系统事件的拦截,例如故障和内核级的系统崩溃。为此,可以启动预先注册的处理程序(回调函数或实时任务)。从而运行防故障处理程序(“BlueScreen处理程序”),并在发生错误时执行预定义的反应。系统事件的截取。
-
用回调函数和实时任务截取系统事件
-
内核级别的故障保护和系统崩溃
-
防故障处理程序的实现(“BlueScreen处理程序”)
Runtime Library
为了能够在实时上下文运行应用程序代码,通常需要公共运行库的功能。但是,它们可能不适合实时执行。因此,运行库提供了C标准库的实时修改功能,包括实时数学/三角函数和字符串/内存功能。
-
特定的基于实时执行的C-标准库函数
-
超过20个数学/三角函数(例如cos,tan,arcus和hyperbolicus函数,exp,log,pow,sqrt,floor,ceil)
-
超过20个字符串/存储器函数(例如,memcpy,memset,strlen,strcmp,strcpy,strcat,strtok)
-
支持应用程序和内核级别