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)
- Support for netX90 based devices
- 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