VMELinux - Linux for your embedded system.

The VMELinux Project

The VMELinux Project's goal is to make Linux a sensible
alternative for embedded VMEbus applications.

CVS Repository | Downloads | Versions | Bug Reports | Linux VME HOWTO

How to help this project.

Be a user
Use a stable version of VMELinux
in your next VME application
Ask questions, find help and report your results with the
vmelinux-users email list.
Also report bugs to the Bug Reporting System
so the developers can refine the release versions - currently 1.2.x

Be a Tester (very important)
Try an experimental version of VMELinux

and report bugs to the Bug Reporting System
so the developers can continue refining the development version - currently 1.3.x

Be a Programmer (C and C++)
Become a developer of VMELinux with these steps:

First - Verify you have the tools to communicate with a CVS server.
Second - Verify you have the Universe chip in your VMEbus target processor.
Third - Create an account in the Bug Reporting System,
Fourth - Send me an email so I can create a CVS account for your code
and upgrade your Bug Track account from reporter to developer.

This project's primary offering is the Kernel Level Linux Device Driver that interfaces between the Unix Shell environment and the VMEbus. The driver is compatible with the Tundra Universe PCI-VME bridge integrated circuit. Thus, our driver only supports VMEbus boards with a PCI local bus. Testing was accomplished with boards from Xycom, Dynatem and SBS-Or.

The VMELinux Device Driver is maintained by a team of engineers and from folks in the embedded computer industry. We wish to make VMELinux useful to many people and projects. Thus, all the programs you can find on this site are governed under the GNU Free Software Foundation license.

What the tools are:

VMELinux Device Driver
This is a Linux kernel device driver. It interfaces user programs to the system controller and the Tundra Universe chip. It is a traditional driver in that it uses files within the "/dev" directory for communication. This driver uses the standard set of calls and is thus familier to any programmer who decides to directly communicate with the /dev devices.
A small program which details one way to communicate with the driver. It helps to abstract the details of driver communication so the programmer concentrates more on access to the VMEbus and less on how Linux drivers work.
VMEUtils Program
This is a program which runs in a standard user shell. It communicates directly with the Device Driver. It offers the user a command prompt environment whereby access to the VMEbus is made. Is offers the programmer a look at how to speak to the Device Driver.
VMEShell Utilities
These are handy routines to call from the Linux prompt. They send instructions to the VMEUtils program on where and how to access the VMEbus. What returns is a display of actual VME data. Also, you can read and write to files. Another nice feature of these routines is they store access information in the local directory. Thus, you can log off, return and begin accessing the VMEbus without remembering what address to use. Organized this way, you can have different subdirectories for each of your VMEbus boards and eliminate repeat addressing configurations.
Interrupt Driver Example
We almost have an example of this ready. Stay tuned.

What they need:

All of these are available within a single tar.gz package. Download the available files in the download directory.

Plenty of help is available in the VME Howto. This is still the old Howto. We are updating it regularly. Much of the instructions found in the VME Howto still apply to the latest version.

Tested Board List

Tested Linux Distributions

Contributors to this Project

Significant time and effort are at work to make Linux work well in the VMEbus world. Our thanks go to the following:

Other Projects

There are others out there working on VMEbus/Linux solutions for various boards and different VME interfaces. The VMELinux Project does not have anything to do with the development of these resources. However, it would be incomplete not to mention them. They are:

Linux for 680x0 based VME boards
This is where to go if you want Linux to run on your Motorola 68k boards.
Documentation for another Universe PCI-VME driver for Linux
This driver has been around for quite a while and is healthy. It is an alternative to our VMELinux driver above. They use different features of the Tundra Universe device to access the VMEbus.
VMEbus drivers and other busses too.
This list of drivers are alternatives to VMELinux. The Universe driver you see here has been around a long time and offers a different approach to using Linux with the Universe chip. This and other items can be found at the The Linux Lab's excellent web site.
VMIC Linux Driver
The good folks at VMIC bring us their version of a Linux Universe Driver based on the work of Dr. J. Hannappel. This effort is not based on our VMELinux driver. Here is more information.
More VMEbus information
For more information about VMEbus products, efforts and information please visit http://www.vmebus.org/.

If you know other projects that should be listed here
let us know.

Contact Information

For more information about VMELinux(tm) contact:

John at john@vmelinux.org

VMELinux Project
Warrenton, Virginia

Back to Top

Webpage changed May 24, 2003 16:40

Pentium is a trademark of Intel Corporation. Alpha is a trademark of Digital Equipment Corporation. VMELinux is a trademark of Chesapeake Research.