| State | Description |
|---|
| RUNNING | The task that is currently running is in the RUNNING state. Only one task at a time can be in this state. The os_tsk_self() returns the Task ID (TID) of the currently executing task. |
| READY | Tasks which are ready to run are in the READY state. Once the running task has completed processing, RTX selects the next ready task with the highest priority and starts it. |
| WAIT_DLY | Tasks which are waiting for a delay to expire are in the WAIT_DLY State. Once the delay has expired, the task is switched to the READY state. The os_dly_wait() function is used to place a task in the WAIT_DLY state. |
| WAIT_ITV | Tasks which are waiting for an interval to expire are in the WAIT_ITV State. Once the interval delay has expired, the task is switched back to the READY State. The os_itv_wait() function is used to place a task in the WAIT_IVL State. |
| WAIT_OR | Tasks which are waiting for at least one event flag are in the WAIT_OR State. When the event occurs, the task is switched to the READY state. The os_evt_wait_or() function is used to place a task in the WAIT_OR state. |
| WAIT_AND | Tasks which are waiting for all the set events to occur are in the WAIT_AND state. When all event flags are set, the task is switched to the READY state. The os_evt_wait_and() function is used to place a task in the WAIT_AND state. |
| WAIT_SEM | Tasks which are waiting for a semaphore are in the WAIT_SEM state. When the token is obtained from the semaphore, the task is switched to the READY state. The os_sem_wait() function is used to place a task in the WAIT_SEM state. |
| WAIT_MUT | Tasks which are waiting for a free mutex are in the WAIT_MUT state. When a mutex is released, the task acquire the mutex and switch to the READY state. The os_mut_wait() function is used to place a task in the WAIT_MUT state. |
| WAIT_MBX | Tasks which are waiting for a mailbox message are in the WAIT_MBX state. Once the message has arrived, the task is switched to the READY state. The os_mbx_wait() function is used to place a task in the WAIT_MBX state. Tasks waiting to send a message when the mailbox is full are also put into the WAIT_MBX state. When the message is read out from the mailbox, the task is switched to the READY state. In this case the os_mbx_send() function is used to place a task in the WAIT_MBX state. |
| INACTIVE | Tasks which have not been started or tasks which have been deleted are in the INACTIVE state. The os_tsk_delete() function places a task that has been started (with os_tsk_create()) into the INACTIVE state. |