01.06.2013 Views

IPC@CHIP Documentation - SC12 @CHIP-RTOS V1.10

IPC@CHIP Documentation - SC12 @CHIP-RTOS V1.10

IPC@CHIP Documentation - SC12 @CHIP-RTOS V1.10

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Suspended Free to run RTX_Resume_Task() → Active<br />

Trigger Wait 1 RTX_Resume_Task() → Blocked<br />

RTX_Restart_Task() → , Free to run 3<br />

Semaphore Wait 2 RTX_Resume_Task() → Blocked<br />

Granted semaphore → , Free to run 3<br />

Event Group Wait 2 RTX_Resume_Task() → Blocked<br />

RTX_Signal_Events() → , Free to run 3<br />

Message Exchange Wait 2 RTX_Resume_Task() → Blocked<br />

RTX_Send_Msg() → , Free to run 3<br />

Asleep2 RTX_Resume_Task() → Blocked<br />

RTX_Wakeup() → , Free to run3 1) - Trigger Wait sub-state is entered after RTX_Create_Task_Without_Start() or after a task has<br />

terminated.<br />

2) - A specified time-out period in milliseconds can be applied to these states.<br />

3) - Only the sub-state has changed here.<br />

Table 2 ) @Chip-<strong>RTOS</strong> Task States<br />

The set of active tasks we speak of as executing concurrently. However, only a single task (at most 1 ) is<br />

executing at any given time since the IPC@Chip contains only a single CPU. The task selected for<br />

execution by the @Chip-<strong>RTOS</strong> will always be the highest priority of the tasks that are in the active state.<br />

The C-library routines which force a task to exit the Blocked and Suspended states when called by some<br />

other task or Interrupt Service Routine (ISR) are stated in the table. The two inactive states, Blocked and<br />

Suspended, differ in their exit state transitions. The RTX_Suspend_Task() API transitions a task into the<br />

Suspended state.<br />

1 Hardware interrupt service routines can momentarily suspend the executing task.<br />

Top of this document<br />

<strong>IPC<strong>@CHIP</strong></strong> <strong>Documentation</strong> Index<br />

DOS Program Tasks<br />

Each DOS program is launched as a task under @Chip-<strong>RTOS</strong>. These tasks are created with initial priority 25<br />

and time-slicing disabled. Within these DOS programs, users can create additional tasks with the<br />

RTX_Task_Create() or RTX_Task_Create_Without_Run() API<br />

System Timing<br />

The @Chip-<strong>RTOS</strong> uses a 1000 Hz Real-Time Interrupt (RTI) for its time base. Therefore one millisecond is the<br />

lower resolution available for task timing.<br />

Users can install Timer Callback procedures with the RTX_Install_Timer() API. Your callback procedure is<br />

invoked within the top priority kernel task at a specified interval<br />

Page 223 / 400

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!