On 3/25/19 8:39 PM, Chris Albertson wrote:
Yes, you have to patch Kernels. I think this is the #1 weakness of
Linux CNC. It would be good to eliminate the need for a real-time Kernal.
Patching is not a weakness IMO. This is done all the time. FPGAs for
example would get loaded with "binary blobs" during bootup to do their
things as programmed. Another way to handle this is with kernel modules.
Load modules for whatever a particular SBC needs.
How? Move the real-time parts to hardware such as the uP, PRU or Mesa
FPGA. Clearly, it can be done because people are controlling machines
with only a uP, PRU or FPGA.
Brilliant IMO! In this scenario, microcontrollers accept commands from
LinuxCNC for example and handle their tasks in loops or whatever program
flow until the task is finished then send interrupt back to main
processor board saying "I'm done".
Subcontrollers could be advanced in some cases, a RaspberryPi or some
such running it's own Linux for specialized tasks: drive stepper motors,
read sensors, etc.
Easier said than done I know, but better than do that all in RT kernel
to fiddle with parallel port and other silly obsolete things.
The interface was designed around a parallel printer port when outbound
processors had poor performance andhad to be on custom PCBs. Today we
have 32-bit STM32 uP on a board.The real-time code can move off the Linux
PC.
I like this idea. Kernel params can be tweaked so that certain processes
are 'niced' above the others. I remember tweaking kernel parameters long
ago for mouse, keyboard, etc. response time. Workstations one way,
servers that were not using keyboards and mouse most of the time
another. In this case, LinuxCNC would get highest priority over anything
else in the system for example.
--
Rafael
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users