User`s guide

Interrupt Handling
11-17
A semaphore is created to synchronize the downstream system to the
execution of the Task Synchronization block.
Code is added to this spawned function-call subsystem to wrap it in an
infinite while loop.
Code is added to the top of the infinite while loop of the spawned task to wait
on a the semaphore, using
semTake(). semTake() is first called with NO_WAIT
specified. This allows the task to determine if a second semGive() has
occurred prior to the completion of the function-call subsystem. This would
indicate the interrupt rate is too fast or the task priority is too low.
Synchronization code, i.e.,
semgive(), is generated for the Task
Synchronization block (a masked function-call subsystem). This allows the
output function-call subsystem to run. As an example, if you connect the
Task Synchronization block to the output of a VxWorks Asynchronous
Interrupt block, the
semGive() wouldoccurinsideanISR.
Task Synchronization Parameters
The picture below shows the VxWorks Task Synchronization block dialog box:
Parameters associated with the Task Synchronization block are:
Task Name — An optional name, which if provided, is used as the first
argument to the
taskSpawn() system call. This name is used by VxWork
routines to identify the task they are called from to aid in debugging.
Task Priority — The task priority is the VxWorks priority that the
function-call subsystem task is given when it is spawned. The priority can be
a very important consideration in relation to other tasks priorities in the