The RTX51 Tiny "tips" article states the following:
Round-robin multitasking is preemptive. It interrupts your task and switches to a new task after the specified number of OS ticks. Refer to CONF_TNY.A51.
But elsewhere in the documentation (http://www.keil.com/support/man/docs/tr51/tr51_sysreq.htm, among others), it is stated that Tiny can only do cooperative (not preemptive) multitasking. Why the discrepancy?
Also: task priorities can not be assigned in RTX-Tiny (as per the above referenced article). So why does the option to disable round-robin task switching (in conf_tiny_banking.a51) exist if round-robin is the only allowed method anyway? In other words, will the system act any differently whether or not RR is disabled?
Preemption means that one task can interrupt another task.
As Per says, this is not really the meaning of this word in a task-switching context. And that reiterates my point: (from various Keil support articles) Round-robin multitasking is allowed in RTX Tiny. Round-robin multitasking is preemptive. Preemptive task-switching is not allowed in RTX Tiny. The wording is confusing and self-conflicting.
The operating system can always interrupt a task, even when it does cooperative multitasking
This is not true. When in this mode, the only way a task can be switched is if it voluntarily gives up its command to the OS (os_wait, os_switch_task, etc).
Thank you gentlemen, I think I have my answer.