Documente Academic
Documente Profesional
Documente Cultură
What is Tornado?
Development and
Debugging
Real-Time,
Multitasking
Tools
OS
Networking
Registry
Target
Tool
VxWorks
Tool
Target
Server
Target Agent
Tool
VxWorks
Target
Tool
Server
Target Agent
Tool
What is a Task?
A task is a
Kernel object dynamically created at runtime
Logical entity consisting of a Task Control Block (TCB) data structure and
stack space
An independent thread of execution
foo()
{
for (;;)
{
waitForData( );/* Until external event occurs */
processData( );
}
Creating a Task
Multitasking
Task States
Multitasking Kernel
redirections
CPU Context Information
PC, SP, CPU registers, FPU registers
Kernel Operation
Scheduler
Multitasking Facilities
Intertask synchronization
Binary Semaphores
Message Queues
Task B
Pipes
Events
tasks
Counting Semaphores
semaphore is blocked
Signals
Projects
Bootable projects
Downloadable Projects
Downloadable projects
Are created by specifying a toolchain
GNU or Diab
Allow on the fly development
Modules can iteratively be downloaded, tested and debugged
facilities
Browser
System-object viewer, graphical companion to WindShell
CrossWind Debugger
Remote source-level debugger
Extended version of the GNU source-level debugger (GDB)
WindShell
routines
For example,
Spawning tasks
Creating VxWorks objects like semaphores, message
WindShell
Browser
Browser
CrossWind
CrossWind is a source level, graphical, debugging frontend using an enhanced version of GDB as its debugging
engine
It allows two debugging strategies
Task mode debugging
One task runs under debug control, while other tasks are not
affected
CrossWind can either
Attach to a running task, or
Start a new task under debugger control
System mode debugging
Whenever a task hits a breakpoint, the whole system stops
This is useful to debug tasks, interrupt service routines and
pre-kernel execution
CrossWind
WindView 2.2
WindView 2.2
interest
Setting locks on certain events and searching for their successive
occurrences
WindView allows to
Detect race conditions, deadlocks, CPU starvation and other
zbuf
netDrv
rlogin telnet
rsh
ftp
Application
programming
interface
Sockets
TCP
UDP
IP
MUX
Ethernet
PPP
Application layer
Transport layer
Network layer
Shared Memory
Network
Link layer
Ethernet
vx3
vx2
vx1
Shared-Memory
Network
Sockets
Telnet
The server application only is provided
reply
configuration information
The IP address is permanently assigned
IP Routing
Summary
debugging
TCP/IP stack
Rich set of network applications and protocols
References