* [Xenomai-help] Some questions about Xenomai
@ 2010-06-24 7:30 Charles Clerdan
2010-06-24 8:58 ` Gilles Chanteperdrix
2010-06-24 19:29 ` Gilles Chanteperdrix
0 siblings, 2 replies; 8+ messages in thread
From: Charles Clerdan @ 2010-06-24 7:30 UTC (permalink / raw)
To: xenomai
[-- Attachment #1: Type: text/plain, Size: 673 bytes --]
Hi,
I'm actually working on an academic project about Real-Time on Xenomai.
I have some questions about Xenomai (for all of them, the application is in
user-space).
How can we use gdb with a RT application? (I understand that, a Xenomai
thread has no PID because it's use a TASK descriptor instead but gdb needs a
PID to attach with)
How can I detect that a Xenomai thread is in secondary mode (I try to use
RT_TASK_INFO but the value is always 0 even if I do non-RT call) ? And does
a mecanism like assertion exist in order to prevent this?
I want to make an IT server as exemple, how can I get back some IT or
generate them from the ADEOS' I-pipe ?
Thanks.
Charles
[-- Attachment #2: Type: text/html, Size: 733 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai-help] Some questions about Xenomai
2010-06-24 7:30 [Xenomai-help] Some questions about Xenomai Charles Clerdan
@ 2010-06-24 8:58 ` Gilles Chanteperdrix
2010-06-24 9:10 ` Charles Clerdan
2010-06-24 19:29 ` Gilles Chanteperdrix
1 sibling, 1 reply; 8+ messages in thread
From: Gilles Chanteperdrix @ 2010-06-24 8:58 UTC (permalink / raw)
To: Charles Clerdan; +Cc: xenomai
Charles Clerdan wrote:
> Hi,
>
> I'm actually working on an academic project about Real-Time on Xenomai.
> I have some questions about Xenomai (for all of them, the application is
> in user-space).
>
> How can we use gdb with a RT application? (I understand that, a Xenomai
> thread has no PID because it's use a TASK descriptor instead but gdb
> needs a PID to attach with)
>
> How can I detect that a Xenomai thread is in secondary mode (I try to
> use RT_TASK_INFO but the value is always 0 even if I do non-RT call) ?
> And does a mecanism like assertion exist in order to prevent this?
>
> I want to make an IT server as exemple, how can I get back some IT or
> generate them from the ADEOS' I-pipe ?
Please come back after you have read the documents here:
http://www.xenomai.org/index.php/Publications
--
Gilles.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai-help] Some questions about Xenomai
2010-06-24 8:58 ` Gilles Chanteperdrix
@ 2010-06-24 9:10 ` Charles Clerdan
0 siblings, 0 replies; 8+ messages in thread
From: Charles Clerdan @ 2010-06-24 9:10 UTC (permalink / raw)
To: Gilles Chanteperdrix, xenomai
[-- Attachment #1: Type: text/plain, Size: 165 bytes --]
Ty but I've already read this papers and except for my IT problem (which is
I think more a hardware problem than a software) I did find the answers of
my questions.
[-- Attachment #2: Type: text/html, Size: 173 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai-help] Some questions about Xenomai
2010-06-24 7:30 [Xenomai-help] Some questions about Xenomai Charles Clerdan
2010-06-24 8:58 ` Gilles Chanteperdrix
@ 2010-06-24 19:29 ` Gilles Chanteperdrix
[not found] ` <AANLkTimofdDy_OSC6dr_2l4X8vAn8oPsQdqVXrSWZ-2e@domain.hid>
1 sibling, 1 reply; 8+ messages in thread
From: Gilles Chanteperdrix @ 2010-06-24 19:29 UTC (permalink / raw)
To: Charles Clerdan; +Cc: xenomai
Charles Clerdan wrote:
> Hi,
>
> I'm actually working on an academic project about Real-Time on Xenomai.
> I have some questions about Xenomai (for all of them, the application is in
> user-space).
An off-topic remark: "actually" is a "faux-ami", it does not mean at all
the same thing as "actuellement" in french.
>
> How can we use gdb with a RT application? (I understand that, a Xenomai
> thread has no PID because it's use a TASK descriptor instead but gdb needs a
> PID to attach with)
a Xenomai thread is first of all a full-blown glibc thread, and thus, a
process containing a Xenomai thread is a full-blown linux process, with
a valid PID. Note that talking about the PID of a thread does not really
make sense, because a PID is a Process ID, so the identifier of the
process, not the thread, and gdb also attaches to a process, that is, to
all the threads of a process at once.
There is not much to say about debugging with gdb a process running
Xenomai threads, but since it is an FAQ, we answered it here:
http://www.xenomai.org/index.php/FAQs#How_can_GDB_be_used.3F
>
> How can I detect that a Xenomai thread is in secondary mode (I try to use
> RT_TASK_INFO but the value is always 0 even if I do non-RT call) ? And does
> a mecanism like assertion exist in order to prevent this?
You do not want to detect that a Xenomai thread is running in secondary
mode, this can lead to crappy code which we do not want to cause you to
write. What you may want, however, is to detect that a thread which you
would want to run in primary mode has switched to secondary mode. For
this, you should do what the file examples/native/sigdebug.c found in
Xenomai sources does, or if you are using the POSIX skin, what is
documented here:
http://www.xenomai.org/index.php/Porting_POSIX_applications_to_Xenomai#Using_the_PTHREAD_WARNSW_bit.
>
> I want to make an IT server as exemple, how can I get back some IT or
> generate them from the ADEOS' I-pipe ?
Well. You may theoretically use the native or POSIX API to handle
interrupts (I guess by IT you mean interrupts?) in user-space, but it is
discouraged. What you should do, however, is to write an RTDM driver. See:
http://www.xenomai.org/documentation/branches/v2.3.x/pdf/RTDM-and-Applications.pdf
For the detailed documentations of the native, posix and RTDM skins, see:
http://www.xenomai.org/documentation/xenomai-2.5/html/api/index.html
--
Gilles.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Xenomai-help] Some questions about Xenomai
[not found] ` <AANLkTimofdDy_OSC6dr_2l4X8vAn8oPsQdqVXrSWZ-2e@domain.hid>
@ 2010-06-25 7:42 ` Charles Clerdan
2010-06-25 12:12 ` Gilles Chanteperdrix
0 siblings, 1 reply; 8+ messages in thread
From: Charles Clerdan @ 2010-06-25 7:42 UTC (permalink / raw)
To: xenomai
[-- Attachment #1: Type: text/plain, Size: 2540 bytes --]
> An off-topic remark: "actually" is a "faux-ami", it does not mean at all
> the same thing as "actuellement" in french.
>
>
Indeed...
>
> >
> > How can I detect that a Xenomai thread is in secondary mode (I try to use
> > RT_TASK_INFO but the value is always 0 even if I do non-RT call) ? And
> does
> > a mecanism like assertion exist in order to prevent this?
>
> You do not want to detect that a Xenomai thread is running in secondary
> mode, this can lead to crappy code which we do not want to cause you to
> write. What you may want, however, is to detect that a thread which you
> would want to run in primary mode has switched to secondary mode. For
> this, you should do what the file examples/native/sigdebug.c found in
> Xenomai sources does, or if you are using the POSIX skin, what is
> documented here:
>
> http://www.xenomai.org/index.php/Porting_POSIX_applications_to_Xenomai#Using_the_PTHREAD_WARNSW_bit
> .
>
>
Ok, I will try this.
> >
> > I want to make an IT server as exemple, how can I get back some IT or
> > generate them from the ADEOS' I-pipe ?
>
> Well. You may theoretically use the native or POSIX API to handle
> interrupts (I guess by IT you mean interrupts?) in user-space, but it is
> discouraged. What you should do, however, is to write an RTDM driver. See:
>
> http://www.xenomai.org/documentation/branches/v2.3.x/pdf/RTDM-and-Applications.pdf
>
> For the detailed documentations of the native, posix and RTDM skins, see:
> http://www.xenomai.org/documentation/xenomai-2.5/html/api/index.html
>
> --
> Gilles.
>
Ok, Thank you for your answer.
And a last one (for now ...), I read here :
http://www.xenomai.org/documentation/branches/v2.3.x/pdf/Native-API-Tour-rev-C.pdf
that :
*"When a realtime
task executes into the Linux domain on a given processor, the
Linux kernel as a whole inherits the realtime
priority of such task, and thus
competes for the CPU resource by priority with other realtime
tasks regardless of
the domain (i.e. Linux or Xenomai) they happen to belong to. In other words,
the
realtime
priority scheme enforced by the native API is consistent across domains. "*
I was thinking that Linux were a process of Xenomai with the lowest
effective priority, and a task in secondary mode were only in competition
with the others Linux threads (or others Xenomai thread in 2ndary mode). But
if I'm wrong, how can the 2 schedulers share ressources in order to keep a
hard real-time behaviour (at less for Xenomai tasks in 1st mode).
Charles
[-- Attachment #2: Type: text/html, Size: 3944 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai-help] Some questions about Xenomai
2010-06-25 7:42 ` Charles Clerdan
@ 2010-06-25 12:12 ` Gilles Chanteperdrix
0 siblings, 0 replies; 8+ messages in thread
From: Gilles Chanteperdrix @ 2010-06-25 12:12 UTC (permalink / raw)
To: Charles Clerdan; +Cc: xenomai
Charles Clerdan wrote:
> And a last one (for now ...), I read here :-
> http://www.xenomai.org/documentation/branches/v2.3.x/pdf/Native-API-Tour-rev-C.pdf
> that :
> /"When a realtime
> task executes into the Linux domain on a given processor, the
> Linux kernel as a whole inherits the realtime
> priority of such task, and thus
> competes for the CPU resource by priority with other realtime
> tasks regardless of
> the domain (i.e. Linux or Xenomai) they happen to belong to. In other
> words, the
> realtime
> priority scheme enforced by the native API is consistent across domains. "/
>
> I was thinking that Linux were a process of Xenomai with the lowest
> effective priority, and a task in secondary mode were only in
> competition with the others Linux threads (or others Xenomai thread in
> 2ndary mode). But if I'm wrong, how can the 2 schedulers share
> ressources in order to keep a hard real-time behaviour (at less for
> Xenomai tasks in 1st mode).
I am not sure I understand your question.
The two schedulers do not share ressources. What is meant by this
sentence is that the Linux kernel is a task, from Xenomai scheduler's
point of view, and this tasks inherits the priority of Xenomai tasks
running in secondary mode. The Linux scheduler is not involved.
And giving to a task running in secondary mode a priority higher than a
task running in primary mode looks like a design error anyway.
If you do not like this behaviour, you can disable it, but, on the whole
it makes things a little more natural.
--
Gilles.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Xenomai-help] Some questions about Xenomai
@ 2010-08-03 16:03 Martin Kremenak
2010-08-03 16:26 ` Philippe Gerum
0 siblings, 1 reply; 8+ messages in thread
From: Martin Kremenak @ 2010-08-03 16:03 UTC (permalink / raw)
To: xenomai
[-- Attachment #1: Type: text/plain, Size: 1953 bytes --]
Hi,
I want to realize control system based on real time Linux. So I decide me
for Xenomai.
After some research I found a Code Generator for Xenomai from Evidence:
http://www.evidence.eu.com/content/view/175/216 which I can generate Code
from Scilab/Scicos for Xenoami.
I read the readme-file from Evidence and the recommended Xenomai 2.4.3.
So I tried to install Xenomai 2.4.3 with Kernel 2.6.24/2.6.24.2/2.6.24.1 on
my System.
I tried this quick build guide:
http://www.xenomai.org/index.php/Xenomai_quick_build_quide
On the point where I compile the Kernel I got following error:
debXenomai:/usr/src/linux-2.6.24.2# make
scripts/kconfig/conf -s arch/x86/Kconfig
CHK include/linux/version.h
CHK include/linux/utsrelease.h
CALL scripts/checksyscalls.sh
CHK include/linux/compile.h
AS arch/x86/kernel/entry_32.o
arch/x86/kernel/entry_32.S: Assembler messages:
arch/x86/kernel/entry_32.S:270: Error: invalid character '_' in mnemonic
arch/x86/kernel/entry_32.S:321: Error: invalid character '_' in mnemonic
arch/x86/kernel/entry_32.S:351: Error: invalid character '_' in mnemonic
arch/x86/kernel/entry_32.S:521: Error: invalid character '_' in mnemonic
arch/x86/kernel/entry_32.S:536: Error: invalid character '_' in mnemonic
make[1]: *** [arch/x86/kernel/entry_32.o] Fehler 1
make: *** [arch/x86/kernel] Fehler 2
Have anybody the same problem or a solution to fix the problem?
Maybe anyone have experience with the Code Generator from Evidence and newer
versions from Xenomai? It is possible to use a newer version?
The Evidence wiki and forum is down. Maybe the project is adjusted, so I can
not ask some people from Evidence.
I also searched for Kernel-Configs for an x86 Intel-System (CoreDuo2),
please post your experience.
Another open point is the graphical interface. I search for something like
xrtailab or something else.
Regards,
Martin K.
[-- Attachment #2: Type: text/html, Size: 20306 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai-help] Some questions about Xenomai
2010-08-03 16:03 Martin Kremenak
@ 2010-08-03 16:26 ` Philippe Gerum
0 siblings, 0 replies; 8+ messages in thread
From: Philippe Gerum @ 2010-08-03 16:26 UTC (permalink / raw)
To: Martin Kremenak; +Cc: xenomai
On Tue, 2010-08-03 at 18:03 +0200, Martin Kremenak wrote:
> Hi,
>
>
>
> I want to realize control system based on real time Linux. So I decide
> me for Xenomai.
>
> After some research I found a Code Generator for Xenomai from
> Evidence: http://www.evidence.eu.com/content/view/175/216 which I can
> generate Code from Scilab/Scicos for Xenoami.
>
> I read the readme-file from Evidence and the recommended Xenomai
> 2.4.3.
>
>
>
> So I tried to install Xenomai 2.4.3 with Kernel
> 2.6.24/2.6.24.2/2.6.24.1 on my System.
>
> I tried this quick build guide:
> http://www.xenomai.org/index.php/Xenomai_quick_build_quide
>
> On the point where I compile the Kernel I got following error:
>
> debXenomai:/usr/src/linux-2.6.24.2# make
> scripts/kconfig/conf -s arch/x86/Kconfig
> CHK include/linux/version.h
> CHK include/linux/utsrelease.h
> CALL scripts/checksyscalls.sh
> CHK include/linux/compile.h
> AS arch/x86/kernel/entry_32.o
> arch/x86/kernel/entry_32.S: Assembler messages:
> arch/x86/kernel/entry_32.S:270: Error: invalid character '_' in mnemonic
> arch/x86/kernel/entry_32.S:321: Error: invalid character '_' in mnemonic
> arch/x86/kernel/entry_32.S:351: Error: invalid character '_' in mnemonic
> arch/x86/kernel/entry_32.S:521: Error: invalid character '_' in mnemonic
> arch/x86/kernel/entry_32.S:536: Error: invalid character '_' in mnemonic
> make[1]: *** [arch/x86/kernel/entry_32.o] Fehler 1
> make: *** [arch/x86/kernel] Fehler 2
>
> Have anybody the same problem or a solution to fix the problem?
This is an old cranky Adeos/I-pipe patch with a silly glitch in it,
disabling CONFIG_PARAVIRT should help. Normally, you should be able to
pick the latest 2.4.x official release (2.4.10) instead of 2.4.3. All
releases within a major series are guaranteed to be API and ABI backward
compatible.
In any case, unless the code generator itself has (weird) kernel
dependencies, you don't need to stick with 2.6.24 for Xenomai 2.4.x to
work, you may upgrade up to 2.6.30.8 with Xenomai 2.4.10.
>
>
>
> Maybe anyone have experience with the Code Generator from Evidence and
> newer versions from Xenomai? It is possible to use a newer version?
>
I did not know this generator existed, so ...
> The Evidence wiki and forum is down. Maybe the project is adjusted, so
> I can not ask some people from Evidence.
>
>
>
> I also searched for Kernel-Configs for an x86 Intel-System (CoreDuo2),
> please post your experience.
>
>
>
> Another open point is the graphical interface. I search for something
> like xrtailab or something else.
>
>
>
> Regards,
>
>
>
> Martin K.
>
>
>
>
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help
--
Philippe.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2010-08-03 16:26 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-24 7:30 [Xenomai-help] Some questions about Xenomai Charles Clerdan
2010-06-24 8:58 ` Gilles Chanteperdrix
2010-06-24 9:10 ` Charles Clerdan
2010-06-24 19:29 ` Gilles Chanteperdrix
[not found] ` <AANLkTimofdDy_OSC6dr_2l4X8vAn8oPsQdqVXrSWZ-2e@domain.hid>
2010-06-25 7:42 ` Charles Clerdan
2010-06-25 12:12 ` Gilles Chanteperdrix
-- strict thread matches above, loose matches on Subject: below --
2010-08-03 16:03 Martin Kremenak
2010-08-03 16:26 ` Philippe Gerum
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.