> 2) How portable is the real-time code (ie: can it be compiled for Arm > or PowerPC)?
LinuxCNC uses the RTAI kernel/API. There are a number of architectures listed here https://www.rtai.org/ I don't know if anyone has made LinuxCNC work on other than x86 and x86_64 > 3a) Is there any existing support for multiple independent processors > (ie: multiple processor, but running multiple kernels vs. a single > linux kernel running on multiple cores/chips)? as a boot-option for the RTAI kernel it's possible to specify that real-time processes run on one core and non-real-time on the rest. This improves real-time latency numbers slightly (on e.g. Atom 330 boards) > 3b) What about separating the real-time and non-real-time code onto > two different computers? The GUI part of linuxcnc can run on another computer through emcrsh http://www.linuxcnc.org/docview/2.4/html/man/man1/emcrsh.1.html > Ideally, I would like to craft a multi-core machine, with (several) > optimized real-time controllers instantiated in an FPGA along with the > hardware required to interface to the servo drivers, encoders, etc. The approach used now is to have simple things like encoder-counters, pwm-generation, etc. on FPGAs. These can have clocks up to maybe 100MHz. The FPGA communicates with the PC over PCI(e) or parallel-port. Complex things like G-code interpreter, Trajectory planning, and PID-control runs on the real-time PC, usually with a period of 1 ms. For certain applications it might make sense to move more logic over to the FPGA-side and leave less for the PC, but the current approach seems to work OK for CNC-machines. AW ------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers