emc2 on x86-64/rtai: that wasn't so hard! (Updated: It's in CVS)

On a lark, I decided to see if I could run emc2 on a 64-bit machine and the realtime kernel. After less than 5 hours work, it ran---I cut a thread in the air on the NIST lathe. It's not ready for prime time, but if you want to get on the bleeding edge of development, get out your amd64 machines and start hacking. Update: Now the CVS TRUNK of emc2 compiles on x86-64/rtai machines.

Here's a summary of what I did, along with files that should help you recreate the setup on your own system:

To my surprise, emc "just worked" at this point, right up to running the nist-lathe configuration and moving motors. The rtai "kern/latency" test gave encouraging numbers as well---"ovl max" of under 7000ns after a run of several minutes. However, I did get an "unexpected realtime delay" report:

In recent history there were
2009142, 1908, 2010087, 2008173, and 2009117
elapsed clocks between calls to the motion controller.
This time, there were 2007608 which is so anomalously
large that it probably signifies a problem with your
realtime configuration.  For the rest of this run of
EMC, this message will be suppressed.
Yes, that's correct, the anomalous number was much smaller than the others. Update: the bug that caused this is now fixed in the CVS version of emc. Now my system runs the nist-lathe configuration nicely with a base-period of 15000 ns.

So that brings me to the list of items that need further study before this system is pronounced "ready"--don't hold your breath for official packages.

Files currently attached to this page:


(originally posted on the AXIS blog)

Entry first conceived on 31 May 2007, 1:01 UTC, last modified on 15 January 2012, 3:46 UTC
Website Copyright © 2004-2021 Jeff Epler