Hi All,
I wonder that Is there any real time operating system to use on Beagle Bone Black? Could you give me some information about real time linux on Beagle Bone?
Thanks in Advance
Hi All,
I wonder that Is there any real time operating system to use on Beagle Bone Black? Could you give me some information about real time linux on Beagle Bone?
Thanks in Advance
The machinekit is a pre-patched kernel with Xenomai extensions for real time.
See http://blog.machinekit.io/p/machinekit_16.html
You will get the LinuxCNC package as well, this needs real time threads. But, you
can use the Xenomai features by itself.
Jon
TI has a list, but it doesn't include everything:
http://www.ti.com/lsds/ti/tools-software/rtos.page
...conspicuously absent are the various non-commercial solutions.
Is there something in particular you are wanting to run?
Charles any quick points or a link to something explaining what is the meaning of real time linux, especially in the context of having PRUs - I sort of had the sense that, for example in your machine kit image, the real time bits were being performed by the PRUs, so what is the reason for Xenomai? You have to run some OS of course, but if you have a dedicated subsystem that just comes up for air when it needs to inform the OS, why not just ?plain? linux? And if linux can run real time, why do you need the PRUs? maybe it’s a matter of the scale of latency we’re talking about.
In my images, the ARM core is running motion and trajectory planning in
a 1 ms (configurable) loop, using the Xenomai real-time patches. If you
don't have something like Xenomai or PREEMPT_RT patched into the stock
Linux kernel, the 1 mS loops do not execute at the proper time.
The PRUs are used to generate step/direction pulses at (potentially)
high speed, running simple code in a short loop (typically 1-10 uS),
which is not possible on the ARM. Even with Xenomai, IRQ latency is on
the order of 20-60 uS for the ARM, so it just can't run a task loop that
fast. The PRUs don't have anything else to do, so they can happily make
step/dir pulses with good timings while the ARM core handles the
complicated not-so-time-critical stuff like motion planning, and the
non-real time stuff like a user interface.
QNX is portable onto the BBB.