. |
Release Note
|
New Version
|
Previous Version
|
|
Firmware |
531A4
|
495A7
|
MPI/XMP Library |
03.01.00
|
20030620.1.11
|
MPI/Linux Library |
03.01.00
|
20030620.1.11
|
Release Date |
30Jul2004
|
12Feb2004
|
Welcome to the MPI/XMP-Linux Support package. The distribution was built and tested with Red Hat Linux 9.0, kernel version 2.4.20-8. The libraries have been built with standard GNU tools included with the Red Hat software. This document provides an overview of the release and describes the new features and changes from the standard WinNT MPI/XMP software releases.
Each MPI/XMP-Linux distribution has a particular version number. To properly run client/server applications between Linux and WinNT systems, the WinNT systems must have the standard, WinNT MPI/XMP release of the identical version number.
This release requires an Intel x86 processor, running the Linux kernel 2.4.20-8. Only use the standard GNU tools and library versions that are supplied with the Red Hat 9.0 distribution.
Target System
|
x86 platforms |
Kernal Version
|
2.4.20-8 |
Supported Compiler |
GNU C Compiler |
Access
|
root (super user) |
The MPI/XMP-Linux installation consists of an TAR file base distribution. The recommended installation directory is /MEI. To install the compressed release, you need to do the following as the 'root' user:
mkdir /MEI
mv XMP_SeriesXX.XX.XX_Linux.tar.ZIP /MEI/
cd /MEI
tar xvfp *.tar
The release will require a few minutes to extract to disk.
The MPI/XMP-Linux installation is designed as a stand alone MPI/XMP release. All Linux specific files are installed into Linux/x86 subdirectories. Key components of the distribution are:
|
The MEIXMP driver needs to be loaded each time the system is rebooted. A generic x86 driver for Linux is included in every release in the (/MEI)/XMP/MPI/Linux/x86/driver/Release directory. This driver was built using Red Hat Linux 9.0, kernel 2.4.20-8. A debug version of the driver is located in the (/MEI)/XMP/MPI/ Linux/x86/driver/Debug directory. Motion Engineering recommends using the release version of the Linux driver.
To load this driver, you will need to do the following
as the 'root' user:
$ cd /MEI/XMP/MPI/Linux/x86/driver/Release
$ insmod meixmp.o (loads driver)
$ grep meixmp /proc/devices (returns device
"major_no")
$ mknod /dev/xmpcontrol0 c "major_no" 0
(makes boot device)
To build and load a custom driver for your Linux system:
$ cd /MEI/XMP/MPI/Linux/x86
$ cd driver/Release
$ make -f meixmp.mak
$ insmod meixmp.o (loads driver)
$ grep meixmp /proc/devices (returns device
"major_no")
$ mknod /dev/xmpcontrol0 c "major_no" 0
(makes boot device)
The target system is accessible from a WinNT client
through TCP/IP via the server.c utility. The server.c source code is included
in the directory (/MEI)/XMP/util/. A compiled version of the utility
is provided in (/ MEI)/XMP/bin/Linux/x86. This process must be
spawned to receive any commands from a WinNT host. Press
Pre-compiled utilities are included in the Linux release. These utilities support two modes of communication - they can be loaded and run from the target system or across ethernet from a WinNT host with the -server flag.
NOTE: Linux is case sensitive.
Here is the syntax for a few of the support utilities:
Configuration Utility | ||
|
||
flash program | ||
|
||
VM3 program | ||
|
||
Motion Console program | ||
|
||
Motion Scope program | ||
|
||
This release installs a makefile for building the sample applications with GCC. The makefile provides an interface to build all the sample apps from the command line using the make utility.
There are no known bugs or open issues in the Linux support package. Please see the general release notes for outstanding MPI/XMP bugs and limitations.
The following warning message is returned when loading the driver:
Warning: loading
meixmp.o will taint the kernel: no license
See http://www.tux.org/lkml/#export-tainted
for information about tainted modules Module meixmp loaded, with warnings.
This message will appear because the driver has not yet been registered. This warning does not affect the operation of the driver in any way and should be ignored.
In order to run MPI applications, the user must have root (Super User) access on the Linux machine.
A limitation exists with the MEI Linux driver, which only allows one controller to be used in a given system. Unlike Win32, where multiple controllers are supported, the Linux device driver can only support one MEI controller at a time. For SynqNet systems, this effectively limits the axes per machine to 32.
A limitation exists with the Linux Red Hat 9.0 distribution, which prevents two applications (processes) from safely running at the same time. This limitation is a result of the way semaphores and mutexs are used. In Linux, mutexs and semaphores only lock across threads operating in the same process, which breaks the process-safe design of the MPI. Therefore, you cannot run two applications safely at the same time on the target machine. Until Linux Red Hat 9.0 supports locking across processes with semaphores and mutexs, there are two workable solutions.
The recommended solution is to run all applications through the server utility. This will allow all applications to access the controller through the same process. Please refer to the Server Utility section for more information.
The alternative solution is to spawn the server utility in a separate thread within your application, so that the application and the server utility are in the same process. Source code for the Server Utility can be found in server.c, which is shipped with the standard MPI software package. Separate applications can access the motion controller through this same server process.
| | Copyright © 2001-2021 Motion Engineering |