[Xenomai-help] real-time usb2.0 for xenomai ?

2012-03-05 Thread Peter Pastor
Hello,

I am using linux 2.6.35.9 and xenomai 2.5.6. I am wondering whether
anyone managed to get a real-time stack for usb2.0 working.
Unfortunately, usb4rt does not support usb2.0. I have been trying
http://download.gna.org/usb20rt/testing/usb20rt.tar.bz2 ...but I could
not get it to work. I could fix the compilation issues, but I may have
introduced bugs because inserting the kernel modules is freezing my
system. I also have seen that the project is no longer continued.

My question is, is there any usb real-time stack for xenomai I could try out ?

THANKS,
 peter

___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


[Xenomai-help] Difference between threads and tasks in Xenomai: -reg

2012-03-05 Thread SUBRAMANIAN NATESAN
Hi,

What is the difference between the threads and tasks in Xenomai. Tasks are
defined in skins and threads in kernel. rt_task_info and xnthread_info
structures have the similar variables, which have information regarding
corresponding task or thread.

Also, during context switch, whether thread control block or task control
block is used? Where would be the program counter and all the necessary
details stored?

-- 
Regards,
Subramanian.
___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


Re: [Xenomai-help] Difference between threads and tasks in Xenomai: -reg

2012-03-05 Thread Gilles Chanteperdrix
On 03/05/2012 08:55 PM, SUBRAMANIAN NATESAN wrote:
 Hi,
 
 What is the difference between the threads and tasks in Xenomai. Tasks are
 defined in skins and threads in kernel. rt_task_info and xnthread_info
 structures have the similar variables, which have information regarding
 corresponding task or thread.
 
 Also, during context switch, whether thread control block or task control
 block is used? Where would be the program counter and all the necessary
 details stored?

task is just the usual name for threads, in the context of RTOSes.
Legacy RTOSes and native skin speak about tasks whereas the posix skin
speaks about thread, but that is the only difference.

-- 
Gilles.

___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


Re: [Xenomai-help] Freeze while running examples

2012-03-05 Thread Oscar Dávila
2012/3/2 Gilles Chanteperdrix gilles.chanteperd...@xenomai.org

 On 03/03/2012 01:14 AM, Oscar Dávila wrote:
  2012/3/2 Gilles Chanteperdrix gilles.chanteperd...@xenomai.org
 
  On 03/02/2012 11:04 AM, Gilles Chanteperdrix wrote:
  On 03/01/2012 05:23 AM, Oscar Dávila wrote:
  Finally i could get the dump
 
 
  post-prompt
  No breakpoints or watchpoints.
 
  breakpoints-table-end
 
  post-prompt
  Dump of assembler code for function __ipipe_sync_stage:
  0xc106d376 __ipipe_sync_stage+0:   push   %ebp
  (...)
  0xc106d526 __ipipe_sync_stage+432: ret
  End of assembler dump.
 
  The address where the EIP is when the NMI watchdog triggers is
  0xc106d5e1, so, outside this code.
 
  And this dump does not seem to correspond to the kernel that was running
  when the bug happened, because in that case we had
 
  0xc106d5e1 == __ipipe_sync_stage + 0x21b
 
  whereas in your dump,
 
  __ipipe_sync_stage + 0x21b == 0xc106d591
 
  Sorry about that, i lost that image of the kernel.
 
  Here is a new complete test.
 
  Kernel Messages
 
 
  Kernel failure message 1:
  BUG: NMI Watchdog detected LOCKUP on CPU0, ip c10751d3, registers:
 
local_irq_disable_hw();
  c10751bf: fa  cli
  c10751c0: 89 e0   mov%esp,%eax
  c10751c2: 25 00 e0 ff ff  and$0xe000,%eax
root_stall_after_handler();
while (__ipipe_check_root_resched())
  c10751c7: 83 78 14 00 cmpl   $0x0,0x14(%eax)
  c10751cb: 75 58   jnec1075225 __xirq_end+0x2
  c10751cd: f6 40 08 08 testb  $0x8,0x8(%eax)
  c10751d1: 74 52   je c1075225 __xirq_end+0x2
  c10751d3: eb f8   jmpc10751cd
 __ipipe_sync_stage+0x12b
__ipipe_preempt_schedule_irq();

 Looks like an infinite loop when CONFIG_PREEMPT is off. Try putting an
 #ifdef CONFIG_PREEMPT around this code:

 #ifdef CONFIG_PREEMPT
while (__ipipe_check_root_resched())
__ipipe_preempt_schedule_irq();
 #endif

 To test that this is indeed the issue, you may try enabling
 CONFIG_PREEMPT in the code.



I recompiled the kernel enabling CONFIG_PREEMPT and it worked, also i tried
the other option, where i add the #ifdef CONFIG_PREEMPT to the source of
core.c, and it also worked.

So it seems that was the problem. Now i can run trivial_periodic.

But after some time with the kernel after running trivial_periodic, the
machines still freezes, i will try to see where the failure is happening
now.

Which type of preemption model its preferred? i mean, using the
CONFIG_PREEMPT enabled or without the:
   while (__ipipe_check_root_resched())
   __ipipe_preempt_schedule_irq();

Thanks again.

-- 
Oscar Dávila Ramírez
___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


[Xenomai-help] Specifying/changing the number of CPU core's in xenomai: - reg

2012-03-05 Thread SUBRAMANIAN NATESAN
Hi,

In a multi-core environment, is it possible in xenomai, to specify the cpu
cores which should or should not be used? Like if there are 4 cores, can we
specify, that core 2 need not be used at all, dynamically, during the
execution of a real time task?


-- 
Regards,
Subramanian.
___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help