pci-toolkit

Kithara »PCI 工具集«

PCI驱动开发函数库

        “PCI工具集”提供了快速开发硬件驱动的所有重要机制,特别针对于PCI/PCIe主板。

        我们可以使用简单的可理解的API函数,就可像使用复杂的设备驱动程序一样,从普通的编程环境访问硬件模块。

       通过I/O接口、物理内存与硬件的中断处理程序,我们可以对PC系统的每个硬件模块进行编址,这样硬件可访问的具体信息就能知道。对于硬件无关编程,支持所有已知的总线类型:ISA,PCI,PCIe、PCMCIA,CardBus 和 ExpressCard。

        “PCI工具集”提供了即时的访问PC硬件的I/O 寄存器和物理内存的相关函数。此外,可在应用层或内核层处理硬件中断。而且,它可以决定接口资源和PCI配置数据。

        直接支持类似 C/C++,Delphi 或 C# 的编程语言,开发者可以在整个的开发过程中使用他们熟悉的编程环境。“PCI工具集”提供了一个使开发人员能够直接访问 PCI/PCIe 硬件资源的通用的驱动。

  • 直接访问所有PC上的I/O寄存器(8 bit, 16 bit and 32 bit);
  • 直接访问物理内存;
  • 中断编程的高效机制;
  • 每个可安装的IRG多个处理程序;
  • 包括用于即插即用设备的通用WDM驱动安装;
  • 无限制分布的运行时文件;
  • 运行在内核级的代码支持C/C++ 和 Delphi ;
  •  “PCI 工具集”代替了 “硬件工具集”

更多信息请参阅 »驱动合辑«

注意:»RealTime Suite«提供了一个特定功能模块的组合以及实时性能。

“PCI 工具集”由以下模块组成, 如果该模块是 »RealTime Suite«中的一部分,它只提供了所提及的实时能力。

基础功能

Base Module

  • Supports the following operating systems: Windows 7/8/10 (32 and 64 bit), Server 2008 R2 as well as Embedded versions
  • Supports PIC and APIC hardware, NUMA multi-processor PCs, Hyper-threading, multi-core etc.
  • Functions for: opening the driver, device handling, version information, debugging support, system information
  • Application threads, events, callbacks, shared memory, data and message pipes, fast mutex objects
  • Further information...

Kernel Module

  • Real-time code implementation at the kernel level
  • Real-time memory management, memory copy function
  • Only in connection with C/C++ or Delphi
  • Generic WDM-driver for plug & play installation included
  • Further information...

硬件访问

IoPort Module

  • Access to all I/O registers of the PC application or DLL
  • Determination of the PCI configuration data and resource data
  • Further information...

Memory Module

  • Access to external physical memory (Dual-Port-RAM)
  • Provision of PC memory for external hardware (DMA memory)
  • Further information...

Interrupt Module

  • Processing of hardware interrupts at the application or kernel level
  • Use of the operating system mechanisms for interrupt processing
  • By using the RealTime Modules interrupts of PCI or PCIe Hardware can be processed
  • Further information...

Platforms

Real-time capability can only be achieved on the kernel level.

For this purpose a programming language is required that is able to generate native x86 or x64 machine code, e.g. C/C++ or Delphi. Nevertheless the »RealTime Suite« supports various platforms, for example a .NET environment.

The solution is, to transfer the time-critical code into a DLL, which will be loaded directly into the real-time context at the kernel level. The »RealTime Suite« provides all this functions.

Instantly usable program frameworks for the platforms mentioned above are part of every software delivery.

系统需求

 »RealTime Suite« 产品支持广泛的 硬件软件组合:

如果你对系统支持有疑问, 请联系 我们!

Operating system

The software supports the following operating systems:

  • Windows 10 (32 and 64 bit, 64 bit only by using the dedicated mode)
  • Windows 8 and 8.1 (32 and 64 bit, 64 bit only by using the dedicated mode)
  • Windows Server 2012 (64 Bit, only using by the dedicated mode)
  • Windows 7 (32 and 64 bit) + Windows Embedded Standard 7
  • Windows Server 2008 R2 (64 bit)

Hardware

The software runs on the following hardware:

  • CPU: AMD (Athlon) or Intel (Pentium 2), 32 - or 64-bit
  • Single-or multi-core, Hyperthreading, plain version to 8 logical CPU cores (extended version currently up to 32 logical cores, more details on request)
  • ACPI recommended (Advanced Control and Power Interface), APIC recommended (Advanced Programmable Interrupt Controller) - Some features require ACPI-APIC
  • the PC must be able to support PAE (Page Address Extension)
  • Using Gigabit-Ethernet, controller of Intel and RealTek are generally supported on demand

Compiler

Immediately usable program frameworks for the following programming languages / compilers are included in the supplied software (other programming languages can be supported on request):

  • Visual Studio 20xx C++ with MFC user interface (supplied project files: VS 2005/08/10/12/13/15)
  • C++ Builder (Embarcadero, formerly Borland) VCL user interface
  • Delphi (Embarcadero, formerly Borland) VCL user interface
  • Visual Studio 20xx C# with WPF user interface (incl. C++ DLL for real-time execution, supplied project files: VS 2005/08/10/12/13/15)
  • In order to execute code in a real-time context, generally any compiler that can generate a DLL with native machine code, is usable. Furthermore, the Windows application can also be generated with other programming languages, such as C#.

 


EtherCAT® is a registered trademark of the EtherCAT Technology Group.

CANopen® is a registered trademark of the CAN in Automation e.V..

GigE Vision® is a registered trademark of the Automated Imaging Association.