Professional Documents
Culture Documents
Tornado 2 2 and VxWorks 5 5
Tornado 2 2 and VxWorks 5 5
Networking
VxWorks
Target
Tool
Server Target Agent
Tool
The tools, registry, and target server can run on different
hosts
Tool
VxWorks runs as a process under the host OS
The simulator architecture provides no emulation of
instruction, native compilers are used
foo()
{
for (;;)
{
waitForData( );/* Until external event occurs */
processData( );
}
}
• Functions execute within the context of tasks
• The VxWorks routine taskSpawn() invokes the entry point function foo and
gives the task it’s thread of “liveness”
Each task alternates between “ready” and “waiting”
• A “task manager” (the multitasking kernel) is therefore required
VxWorks allows a task to wait for
• A specified time delay (Delay)
• An event such as an interrupt (Pend)
Scheduler
Intertask synchronization is obtained by creating an
empty, binary semaphore for the synchronizing event
• The task waiting for the event calls semTake( ) and blocks until
the semaphore is given
• The task or interrupt service routine detecting the event calls
semGive( ), which unblocks the waiting task
Task A Task B
The task waiting for the synchronization message calls
msgQueueReceive( ) and blocks until a message is on
the queue
The task sending the synchronization message calls
msgQueueSend( ), which unblocks a pending task
Counting semaphores are useful for guarding multiple
copies of resources
Since signals are asynchronous in nature, they are more
appropriate for error and exception handling than as a
general-purpose intertask communication mechanism
Projects can be grouped together in Workspaces
For each project more than one build specification can be
used
A bootable project is created specifying
• A BSP
• A toolchain (GNU or Diab)
The displays are snapshots, which can be updated
interactively
• Alternatively, the Browser can be configured to automatically
update its display at specified intervals
IP Network layer
host
Ethernet
SNTP – Simple Network Time Protocol
• Client and server components are provided
– The client is normally used to maintain its system internal clock
accuracy based on time values reported by one or more
servers
– The server provides time information to other systems