Kithara PCI Toolkit
PCI驱动开发函数库
Kithara PCI Toolkit提供了快速开发硬件驱动的所有重要机制,特别针对于PCI/PCIe主板。我们可以使用简单的可理解的API函数,就可像使用复杂的设备驱动程序一样,从普通的编程环境访问硬件模块。
通过I/O接口、物理内存与硬件的中断处理程序,我们可以对PC系统的每个硬件模块进行编址,这样硬件可访问的具体信息就能知道。对于硬件无关编程,支持所有已知的总线类型:ISA,PCI,PCIe、PCMCIA,CardBus和ExpressCard。
Kithara PCI Toolkit提供了即时的访问PC硬件的I/O寄存器和物理内存的相关函数。此外,可在应用层或内核层处理硬件中断。而且,它可以决定接口资源和PCI配置数据。直接支持类似C,C++,Delphi或C#的编程语言,开发者可以在整个的开发过程中使用他们熟悉的编程环境。Kithara PCI Toolkit提供了一个使开发人员能够直接访问 PCI/PCIe硬件资源的通用的驱动。
一些特性
-
直接访问所有PC上的I/O寄存器(8 bit, 16 bit and 32 bit)
-
直接访问物理内存;
-
中断编程的高效机制;
-
每个可安装的IRQ多个处理程序;
-
包括用于即插即用设备的通用WDM驱动安装;
-
无限制分布的运行时文件;
-
运行在内核级的代码支持C,C++ 和Delphi;
-
Kithara PCI工具集代替了硬件工具集
模块
Kithara RealTime Suite提供了一个特定功能模块的组合以及实时性能。Kithara PCI Toolkit”由以下模块组成, 如果该模块是
Kithara RealTime Suite中的一部分,它只提供了所提及的实时能力。
基础功能
Base/Kernel Module
-
支持 Windows 和 Windows Server(仅限 64 位操作系统),均具有专用模式
-
支持多核处理器,超线程和NUMA多处理器PC
-
功能为:打开驱动程序、在内核级别实现实时代码、实时内存管理、设备处理、版本信息、调试支持、系统信息
-
应用程序线程、事件、回调、共享内存、数据和消息管道、快速互斥对象
更多信息 …
System Module
-
系统事件的截取,例如故障和内核级的系统崩溃(如防故障处理程序/“蓝屏处理程序”)
更多信息 …
硬件访问
IoPort Module
-
访问PC应用程序或DLL的所有I / O寄存器
-
PCI配置数据和资源数据的测定
更多信息 …
Memory Module
-
访问外部物理内存(双端口RAM)
-
提供用于外部硬件的PC存储器(DMA存储器)
更多信息 …
Interrupt Module
-
在应用程序或内核级别处理硬件中断
-
使用操作系统机制进行中断处理
-
如果存在RealTime Tasking模块,实时中断也可以在PCI或PCIe硬件上实现
更多信息 …
数据通信
Device Module
-
包含通信设备的Windows编程接口(ReadFile, WriteFile, DeviceIoControl)
-
任何可能的设备名称,例如虚拟COM端口
更多信息 …
平台
实时功能只能在内核级别上实现。为此,需要一种能够生成本地机器码的编程语言,例如C, C++或者Delphi。当然,
Kithara实时套件支持各种平台,例如.NET环境。解决方案是将时间关键型代码转换成一个DLL,该DLL将直接加载到内核级别的实时上下文中。Kithara实时套件可以提供所有这些功能。上述平台的即时可用程序框架是每个软件交付的一部分。
系统需求
Kithara RealTime Suite产品支持广泛的 硬件软件组合。如果你对系统支持有疑问,
请联系 我们!
操作系统
该软件支持以下操作系统:
-
Windows 10 (64 bit version only)
-
Windows 11
-
Windows Server 2019 (64 bit version only)
-
Windows Server 2025
硬件环境
该软件在以下硬件上运行:
-
CPU: x64-compatible CPU (Intel, AMD)
-
Multi-Core; optional Hyper-Threading usable, currently up to 48 logical CPUs, more on request
-
ACPI necessary (Advanced Control and Power Interface)
-
Regarding compatibility of communication interfaces see e.g.
here.
编译器
Kithara提供如下编程语言/编译器编写的程序框架(其他编程语言可以根据用户需要提供支持):
-
Visual Studio的20xx年的C++ MFC用户界面(提供 VS 2010/12/13/15/17/19/22工程文件)
-
C++ Builder(Embarcadero公司,原Borland公司)VCL用户界面
-
Delphi(Embarcadero公司,原Borland公司)VCL用户界面
-
Visual Studio的20XX C#WPF用户界面(实时代码采用C++ DLL,提供 VS 2010/12/13/15/17/19/22工程文件)
对于在实时上下文中执行代码,一般情况下,任何能够以DLL形式生成本地机器代码的编译器都可以使用。另外,不在实时层执行的Windows应用程序可以采用其他语言,如C#。