Difference between revisions of "Xenomai - Mini Howto"

From Gumstix User Wiki
Jump to: navigation, search
(zWJpzsInRZcvambDm)
 
(7 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Very good site. Thanks!!, http://book-compare.vivaldy.oo.lv/map.html flower by internet,  5305, http://diaper-cake.vivaldy.oo.lv/map.html amd athlon 64 3400 overclocking,  52115, http://java-script.vivaldy.oo.lv/map.html merrimack public library,  648, http://colorado-medical.nimfa.ipv4.be/map.html discovery home,  32056, http://crabs-mr.ramada.xdns.eu/map.html ffa site,  417099,
+
=== Xenomai ===
 +
 
 +
The following quick guide gives a rough overview how I got Adeos & Xenomai (real-time extension for Linux) running on the verdex.
 +
 
 +
=== Quick Install Guide ===
 +
 
 +
==== Step 1: Gumstix OE setup ====
 +
 
 +
At first, [https://github.com/gumstix/yocto-manifest/wiki setup the build environment].
 +
 
 +
==== Step 2: Custom Configuration ====
 +
 
 +
Download the [http://bitmux.org/downloads user.collection to build Xenomai for Gumstix OE]. Unpacking the file in the Gumstix OE root directory will give the following structure:
 +
 
 +
<pre>
 +
user.collection
 +
user.collection/conf
 +
user.collection/conf/machine
 +
user.collection/conf/machine/include
 +
user.collection/packages
 +
user.collection/packages/xenomai
 +
user.collection/packages/xenomai/xenomai-2.4.6
 +
user.collection/packages/linux
 +
user.collection/packages/linux/gumstix-xenomai-kernel-2.6.24
 +
user.collection/packages/linux/gumstix-xenomai-kernel-2.6.24/gumstix-custom-verdex
 +
</pre>
 +
 
 +
==== Step 3: (Re-)build the kernel and system ====
 +
 
 +
<pre>
 +
$ bitbake gumstix-xenomai-kernel
 +
$ bitbake -c rebuild task-base-gumstix
 +
$ bitbake -c rebuild gumstix-basic-image
 +
</pre>
 +
 
 +
==== Step 4: Images ====
 +
 
 +
The kernel and root filesystem image can be found in <i>tmp/deploy/glibc/images</i>.
 +
 
 +
== Troubleshooting ==
 +
 
 +
=== Xenomai for verdex with Qemu ===
 +
 
 +
It is also possible to run the real-time kernel within Qemu. However, it might be necessary to slow down the clock of the emulated system (Probably, as your host computer is too slow).
 +
 
 +
The following steps can help:
 +
 
 +
Alter the file <tt>hw/pxa2xx_timer.c</tt> in the Qemu sources:
 +
 
 +
1. Change all occurences of <tt>qemu_get_clock(vm_clock)</tt> to <tt>PXA2XX_QEMU_GET_CLOCK()</tt>
 +
 
 +
2. Define the macro
 +
<pre>
 +
#define PXA2XX_QEMU_GET_CLOCK()    (qemu_get_clock(vm_clock) >> 4) /* also try 2,3 or use a divider */
 +
</pre>
 +
 
 +
 
 +
[[Category:How_to_-_general]]
 +
[[Category:How_to_-_qemu]]

Latest revision as of 13:38, 1 April 2016

Xenomai

The following quick guide gives a rough overview how I got Adeos & Xenomai (real-time extension for Linux) running on the verdex.

Quick Install Guide

Step 1: Gumstix OE setup

At first, setup the build environment.

Step 2: Custom Configuration

Download the user.collection to build Xenomai for Gumstix OE. Unpacking the file in the Gumstix OE root directory will give the following structure:

user.collection
user.collection/conf
user.collection/conf/machine
user.collection/conf/machine/include
user.collection/packages
user.collection/packages/xenomai
user.collection/packages/xenomai/xenomai-2.4.6
user.collection/packages/linux
user.collection/packages/linux/gumstix-xenomai-kernel-2.6.24
user.collection/packages/linux/gumstix-xenomai-kernel-2.6.24/gumstix-custom-verdex

Step 3: (Re-)build the kernel and system

$ bitbake gumstix-xenomai-kernel
$ bitbake -c rebuild task-base-gumstix
$ bitbake -c rebuild gumstix-basic-image

Step 4: Images

The kernel and root filesystem image can be found in tmp/deploy/glibc/images.

Troubleshooting

Xenomai for verdex with Qemu

It is also possible to run the real-time kernel within Qemu. However, it might be necessary to slow down the clock of the emulated system (Probably, as your host computer is too slow).

The following steps can help:

Alter the file hw/pxa2xx_timer.c in the Qemu sources:

1. Change all occurences of qemu_get_clock(vm_clock) to PXA2XX_QEMU_GET_CLOCK()

2. Define the macro

#define PXA2XX_QEMU_GET_CLOCK()     (qemu_get_clock(vm_clock) >> 4) /* also try 2,3 or use a divider */