Ron Bean wrote: > What parts of EMC2 are specific to the Linux OS? Obviously the RTAPI > stuff, and the LibNML stuff. Anything else? > LibNML is not likely to be all that OS specific. Certainly uses language specific data structure elements. > What parts of EMC2 are specific to the x86 CPU? HAL is obviously > hardware-specific. Anything else? > HAL should not be architecture specific at all. There are just a few things that are, such as the parallel port driver. > I assume the original choice of "Linux on x86" was made because it was > cheap and available. But these days, other things are also cheap and > available. > NIST started on Sun Workstations, and then tried out some of the RT extensions to Windows NT, and found them to be horrible. Every hour, you could get interruptions up to a second or so. A total joke for real time control. They tried out Linux, way back in the earliest days, and found it could do hard real time quite well. This decision was made about 1995, I think. > I see that FreeRTOS has been ported to the x86 platform, and might be a > better fit in some ways than linux. Also, if the motion controller were > moved to a separate microcontroller, there would be no need for a > real-time OS (a CPU that only runs one program doesn't need an OS-- > and might be better off without one). > Hopefully, there will be an RTAI port for the OMAP3530 on the Beagle Board soon. The Arm maintainer for RTAI is working on it. A particular EMC user has offered to pay to help accelerate the project. Once RTAI is up on the Beagle, it should be relatively straightforward to get EMC2 running on it. I can't see that porting EMC2 should be that much of a problem. If you want to run totally self-contained on the Beagle, then you may have to deal with smaller screen sizes and such. There may also be some problems with system performance, but if not using the Axis GUI, that probably won't be an issue. (We used to run EMC2 on 100 MHz Pentium Classic CPUs with 32 MB of memory, and the RT section of EMC2 has not grown much. HAL does have some internal overhead, but it shouldn't be bad for an advanced processor like the Arm Cortex.) I have made a parallel port emulator, and plan to work on the general parallel port driver for EMC2 as well as the specific PP drivers for my boards.
Having all of EMC2 running on one CPU makes some things easier, like integrating motion control and auxiliary I/O, and tuning and debugging. Jon ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers