Question about task scheduling and RTEMS target shell
mikeci at acm.org
mikeci at acm.org
Mon Jun 23 17:04:29 UTC 2003
Hi!
See the comments:
>
> rtems_shell only calls to rtems_monitor. Where is the bug?
>
The bug is in the routine rtems_monitor_dump_modes. Here are all possible
combinations of task modes:
nP:nT:nA
nP:T:nA
nP:T:A
P:nT:nA
P:nT:A
P:T:A
and default mode is: P:nT:A.
That routine prints as a default "P:T:nA" which is wrong (it means
Preempt, Timeslice NoAsr). See pp.39 about Task manager (default is
Preempt, NoTimeslice Asr). Further more table in rtems_monitor_dump_mode
doesn't have entries for other combination of the flags. I hope that I was
clear enough.
> Always the same problem.
>
> You need put the events or rtems_system calls in order to obtain the
> control if you code have loops.
>
>
> By example: A comunications dispatcher have a loop waiting the input
> queue. The rtems_system call waits for you.
>
> When the input is ready your shell stops until the dispatch loop ends.
>
> In other case all your tasks need the same priority in order to share
> the CPU time.
>
>
Yes, I found it out by myself.
Regards,
Ivica
More information about the users
mailing list