Question about task scheduling and RTEMS target shell

mikeci at mikeci at
Mon Jun 23 17:04:29 UTC 2003


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:


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.



More information about the users mailing list