实时扩展

一般特征

Kithara实时套件是一个Windows实时扩展模块。作为一个函数库,它涵盖了大部分基于PC自动化的不同领域:

  • 实时多任务系统
  • 硬件相关编程
  • 实时通信
  • 自动化和现场总线协议
  • 实时图像处理
  • Automotive protocols
Windows in real time

模块

用Kithara实时套件能够很方便的进行Windows应用程序的开发,并满足”硬“实时的要求。模块的常规功能包括以下几部分:

  • 常规管理,支持调试,系统信息,基本资源,设备的处理 基础模块
  • 需要在内核层进行编程,能进行实时内存管理等 内核模块
  • 拦截系统事件,安全故障处理程序 系统模块

Base/Kernel Module

负责整体管理,在操作系统内核层级执行,实现实时内存管理,提供调试支持,系统信息展示,基础资源管理以及设备操控功能。

  • 普通
  • 特征
  • 硬件支持
  • 扩展

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 Real­Time 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)
  • 支持应用程序和内核级别