Achieving Real Time capabilities with the Linux kernel.
Hey people, recently i really wanted to get my hands on an RTOS. I actually wanted to see it working on an embedded system or as an embedded system.Finally after a lot of googling and guidance,all roads pointed to XENOMAI and OROCOS (Open Robotics Control Software)…
Xenomai is a development framework released under the GNU General Public License. It cooperates with the Linux kernel to provide hard real time support to userspace applications into the Linux environment.(it delivers short, bounded application latency on the kernel.) It is based on an abstract RTOS core, which can be used to build realtime interfaces over a nucleus which exports
a set of RTOS services.Skins which provide specific interfaces to the applications are built over this nucleus.
ADEOS (Adaptive Domain Environment for Operating Systems)
Adeos is a nanokernel hardware abstraction layer that operates between computer hardware and the operating system that runs on it.It provides an environment for sharing hardware resources among multiple operating systems, or among multiple instances of a single OS, thereby enabling several kernels to run together on the same hardware. It implements a queue of signals.Each time a peripheral sends a signal, the different operating systems that are running in the machine are awakened, in turn, and must decide if they will accept,
ignore, discard, or terminate the signal.The unhandled signals by an OS are passed to the next OS in the chain.
Inserting Adeos beneath the Linux kernel,helps achieve real time capabilities with the same.
Xenomai Installation Steps
Steps for installation of Xenomai2.4.6.1 on Ubuntu 8.10 ( kernel version – 2.6.277 )
1. The stable version of Xenomai, 2.4.6.1 is saved to /usr/src.
Unpack it.
# cd /usr/src/
# tar xjf xenomai-2.4.6.1.tar.bz2
2. The linux kernel 2.6.27.10 is saved to /usr/src
Unpack it.
# cd /usr/src/
# tar xjf linux-2.6.27.10.tar.bz2
Make a symbolic link using the command
# ln s linux2.6.27.10 linux
3. Run scripts/preparekernel.sh in the Xenomai directory.
4. Specify the Linux kernel version (2.6.27.10) and the Adeosipipe patch.
(adeosipipe2.6.27x862.102.patch)
5. Save a copy of the existing kernel config file and make changes to the new kernel
configuration by the following commands.
# cd /usr/src/linux-2.6.27.10
# make menuconfig
6. In the kernel configuration menu which appears,apply the following changes.
a. In Processor type and features,
check that interrupt pipelline is enabled.(to enable adeos implementation of ipipe)
check that localAPIC and IOAPIC support on uniprocessors are enabled.
b. In Power Management options,
in ACPI (Advanced Configuration and Power Interface) support ,disable processor.
c. Disable APM(Advanced Power Management) BIOS support.
d. Disable CPU Frequency Scaling.
7. Compile the kernel.
# sudo make
# sudo make modules_install install
8. Create the initial RAM file system (initramfs) for the new kernel.
# updateinitramfs c k 2.6.27.10
9. Add the kernel to GRUB by making necessary changes in the menu.lst file.
10. Reboot the system with the new kernel.
11. Compile Xenomai by using the following commands.
# cd /usr/src/xenomai2.4.6.1
# ./configure
# make
# make install
12. Reboot the system,run the testsuite tests in /usr/xenomai/testsuite.
If running the testsuites tests is sucessful, the new kernel is sucessfully compiled and has
real time support.
I really have not got a chance implement it, here’s what some great guys in Berlin have done…..check this out… http://www.orocos.org/node/632, signing off… Auf Weidersehen!
hai,
i am anju,i am currently working on xenomai.i am working with a custom powerpc board,trying to make it as real-time system.i am able to comile xenomai.what are next steps to perform to run xenomai applications?can u help me?what are next steps to perform after the xenomai compilation?please reply me via the given email.
thanks in advance..
anju said this on November 11, 2009 at 00:03 |
Hi anju..you can actually try out the SUN forums for power PC.I am not too familiar with the operating system running and the compatible kernel versions. So my advice is ask the SUN guys.
varun686 said this on January 25, 2010 at 16:17 |