Commit 6f396321 authored by Philippe Gerum's avatar Philippe Gerum

doc: prebuild

parent f42d7e50

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.
Installing Xenomai 2.99.0
Installing Xenomai 3.x
-------------------------------------------------------------------------------
......@@ -370,7 +370,7 @@ partial] available, with varying overhead:
with no level specification.
* full includes partial settings, but the optimizer is
disabled (-O0), and even more consistency checks may be
performed. In addition to CONFIG_XENO_DEBUG, the macro
performed. In addition to __XENO_DEBUG__, the macro
CONFIG_XENO_DEBUG_FULL is defined. This level introduces
the most overhead, which may triple the worst-case
latency, or even more.
......@@ -500,6 +500,9 @@ You may override the default root of the registry hierarchy by using the
--enable-fortify
Enables support for applications compiled in _FORTIFY_SOURCE mode.
--disable-valgrind-client
Turns off the Valgrind client support, forcing CONFIG_XENO_VALGRIND_API off
in the Xenomai configuration header.
Cobalt-specific configuration options
......
Troubleshooting guide
Troubleshooting guide for Xenomai 3.x
-------------------------------------------------------------------------------
......@@ -55,7 +55,7 @@ Table of Contents
5.4. My application reserves a lot of memory
This file is a troubleshooting guide about various known issues regarding
Xenomai.
Xenomai 3.x.
1. Kernel configuration
......
This diff is collapsed.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<meta name="generator" content="AsciiDoc 8.6.8" />
<title>Building and running applications with Xenomai 3.x</title>
<link rel="stylesheet" href="../asciidoc-css/asciidoc.css" type="text/css" />
<script type="text/javascript" src="../asciidoc-js/asciidoc.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
asciidoc.install(3);
/*]]>*/
</script>
</head>
<body class="article" style="max-width:55em">
<div id="header">
<h1>Building and running applications with Xenomai 3.x</h1>
<div id="toc">
<div id="toctitle">Table of Contents</div>
<noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
</div>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph"><p>The latest version of this document is available at
<a href="http://www.xenomai.org/documentation/xenomai-forge/html/README.APPLICATIONS/">this address</a>.</p></div>
<div class="paragraph"><p>Make sure to read the
<a href="http://www.xenomai.org/documentation/xenomai-forge/html/README.INSTALL/">installation
document</a> before going through this one.</p></div>
<div class="paragraph"><p>For questions, corrections and improvements, write to
<a href="mailto:xenomai@xenomai.org">the mailing list</a>.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_compiling_a_xenomai_application">1. Compiling a Xenomai application</h2>
<div class="sectionbody">
<div class="paragraph"><p>You should use the <code>xeno-config</code> script to get the proper compilation
and linker flags related to Xenomai, in order to build your
application for whichever <em>Cobalt</em> or <em>Mercury</em> core.</p></div>
<div class="paragraph"><p>Here is a trivial Makefile fragment retrieving the compiler and flags
for building the single-file application <code>vxapp.c</code>, over the VxWorks
emulation API:</p></div>
<div class="listingblock">
<div class="content">
<pre><code>XENO_CONFIG := /usr/xenomai/bin/xeno-config
CFLAGS := $(shell $(XENO_CONFIG) --vxworks --cflags)
LDFLAGS := $(shell $(XENO_CONFIG) --vxworks --ldflags)
CC := $(shell $(XENO_CONFIG) --cc)
EXECUTABLE := vxapp
all: $(EXECUTABLE)
%: %.c
$(CC) -o $@ $&lt; $(CFLAGS) $(LDFLAGS)</code></pre>
</div></div>
</div>
</div>
<div class="sect1">
<h2 id="_running_a_xenomai_application">2. Running a Xenomai application</h2>
<div class="sectionbody">
<div class="paragraph"><p>For <em>Cobalt</em>, you will need the real-time core built into the target
Linux kernel as described in
<a href="http://www.xenomai.org/documentation/xenomai-forge/html/README.INSTALL/">this
document</a>.</p></div>
<div class="paragraph"><p>For <em>Mercury</em>, you need no Xenomai-specific kernel support so far,
beyond what your host Linux kernel already provides. Your kernel
should at least provide high resolution timer support
(<code>CONFIG_HIGH_RES_TIMERS</code>), and likely complete preemption
(<em>PREEMPT_RT</em>) if your application requires short and bounded
latencies.</p></div>
<div class="paragraph"><p>An application recognises a set of options that may be passed on the
command line, namely:</p></div>
<div class="hdlist"><table>
<tr>
<td class="hdlist1">
<strong>--&lt;api&gt;-clock-resolution=&lt;ns&gt;</strong>
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
The clock resolution available with the real-time API, given
as a count of nano-seconds, i.e. HZ=(1000000000 / ns).
</p>