Product data

Typical I/O hardware supported by MDIS device drivers:
Binary and analog I/O
Instrumentation modules
Motion controllers
Fieldbus controllers (CAN, Profibus etc.)
Other specialized hardware like watchdogs,
hardware monitors, etc.
And this hardware is typically located on:
M-Module mezzanines
PC-MIP and PMC mezzanines
Other PCI hardware
Components on CPU boards
FPGAs on CPU and I/O boards
MDIS drivers can be used for all the types of hardware listed above,
because in these cases the driver function can be presented to the
application using the MDIS standard API. There are some device
types, like network and disk I/O, where the MDIS API cannot be used
because the operating system already supports this kind of device.
For these devices, you still need to develop a specific driver for each
operating system.
MDIS-API – the Application Programming Interface
The MDIS-API is a function interface for the user defining the
function calls to access an MDIS driver. The API is the same on all
operating systems, being a simple interface written in ANSI C. Under
Windows it is accessible via DLL callable from C/C++, Delphi and
Visual Basic. The API consists of eight basic functions that originate
from UNIX and OS_9 calls to control a device (open, close):
M_open open path to device
M_read read a single value from current channel
M_write write a single value to current channel
M_getblock read multiple values (data block) from device
M_setblock write multiple values (data block) to device
M_getstat get parameter from device
M_setstat set parameter of device
M_close close path to device
These status calls are provided for starting specific actions and setting
or querying parameters, making it possible to access functions spe-
cific to a device driver as well as the standardized MDIS functions.
MDIS driver module structure
The MDIS concept is based on three functional parts:
The low-level driver for handling the device hardware
The board handler for handling the base board hardware
The MDIS/BBIS Kernels, which generally manage the
device/board initialization and deinitialization sequences and
route the API calls to the appropriate low-level driver and
board handler calls.
The MDIS4 distribution concept
The MDIS4 System Package.
To run and/or compile MDIS4 drivers, you need the MDIS4 system
package for your operating system.
Each MDIS4 system package contains:
MDIS4 libraries required by the low-level drivers, including
documentation
MDIS4 libraries required by applications
All BBIS handlers supported by this operating system
The MDIS4 user guide
A low-level driver installation tool, if necessary
One or more example BBIS handlers in source code
Tools to access the MDIS-API and to view debug messages
(if necessary)
The MDIS4 Low-Level Driver Package.
A low-level driver package exists for each hardware supported by
MDIS4.
This package contains:
The low-level driver source code including a generic makefile
Example descriptors
Example programs and tools
HTML and ASCII-text documentation
Some packages also include an API library to access the driver
more easily.
Licensing
MDIS System Packages: Linux and VxWorks system packages are
distributed in source code under the GNU General Public License.
Windows, RTX and OS-9 system packages are delivered in object
code only. They can be used for free, but are subject to MEN's
general licensing conditions. All MDIS system packages are free of
charge.
MDIS, the MEN Driver Interface System, is a framework to develop device drivers for almost any kind of I/O hardware. MDIS is
independent of the architecture, platform and bus system. The driver source code is interchangable between operating systems.
A properly written driver runs on all operating systems supported by MDIS. Operating systems currently supported are Linux and
RTAI, Windows (NT, 2000, XP, Embedded), QNX, RTX, VxWorks and OS-9.
MDIS4 is the fourth major revision of MDIS and is the first revision that offers full platform independence.
120
Software
MEN Software
MDIS4 – MEN Driver Interface System