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