Features - NXDRV-LINUX

Mandatory

  • Linux Source (tested under 2.6 / 3.3.3)
  • libpthread, librt
  • cifX board (PCI/PCIe), NXSB-PCA / NXSB100 / netPLC, netJACK / NXHX board or NX-PCA-PCI / NXHX or netX Chip (DPM connections)

  • Building with configure:
    - pkg-config
    utility for automatic finding/configuring needed libraries

  • Building with eclipse:
    - eclipse environment (tested V3.5.2 / V3.7.2)
    - eclipse CDT-plugin (V6.0.2 or later)
  • In case of PCI cards
    Linux standard libraries libpciaccess (tested with V0.10.2 / V0.13.1-2)
    - always needed for cifX PCI cards, support can be disabled by defining CIFX_TOOLKIT_DISABLEPCI)

Features

  • Based on the cifX Toolkit source
  • x86 / x64 and Armv7 / aarch64 since kernel version 4.x
  • Unlimited number of cifX boards supported
  • Support for NXSB-PCA or NX-PCA-PCI, netPLC, netJACK boards included

  • Interrupt notification for applications
  • Support of 2nd Memory Window for PCI based device offering MRAM support
  • Setting the device time during start-up if time handling is supported by the device

  • DMA data transfer for I/O data (only PCI based cifX PC cards)
  • (red star) Support for netX90 based devices
  • (red star) Support for CIFX M.2 cards added

Limitations

  • No Interrupt support for NXSB-PCA and NX-PCA-PCI boards
  • On Big Endian machines the user is responsible for converting send/receive packets from/to Little Endian. This is NOT automatically done inside the driver / toolkit.
  • Interrupt support only available for devices handled through uio_netx kernel module
  • Only one application can access a card simultaneously. For multi-application access to a single card, a special application needs to be implemented by user.
  • Online diagnostics access via SYCON.net needs a TCP/IP Server functionality integrated into the user application. An example stand alone server is offered with the linux driver