Keil™, An ARM® Company

Technical Support

RTX51 TINY: TASKS 0 RUNS BUT OTHER TASKS DON'T


Information in this article applies to:

  • C51 All Versions

QUESTION

I have created an RTX51 Tiny program that works fine with round-robin. However, with round-robin disabled, only task 0 executes. What's going on?

ANSWER

In order for RTX51 Tiny to switch tasks, each task in your program MUST call os_wait. For example:

while (1)
  {
  .
  .
  .
  os_wait (K_TMO, 5, 0);
  .
  .
  .
  }

If you have a task that does not call os_wait, when that task starts, it will run forever and never allow other tasks to start.

MORE INFORMATION

Last Reviewed: Sunday, July 17, 2005


Did this article provide the answer you needed?
 
Yes
No
Not Sure