30.12.2013 Views

Virtuoso User Manual - ClassicCMP

Virtuoso User Manual - ClassicCMP

Virtuoso User Manual - ClassicCMP

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.

A short introduction<br />

2. A short introduction<br />

2.1. The one page manual<br />

When using <strong>Virtuoso</strong>, the programmer will develop his program along the following<br />

steps. We outline here the steps for the use of <strong>Virtuoso</strong> Classico as<br />

this entails all levels supported by <strong>Virtuoso</strong>.<br />

1. Define the essential microkernel objects used as building blocks for the application.<br />

These are the tasks, the semaphores, the queues, the mailboxes, the<br />

resources and the timers. If the target is a multiprocessor system, the user<br />

will need to define the network topology as well. This is achieved by preparing<br />

a description file (called “sysdef”) in text format. Sysgen (normally<br />

invoked when calling the make utility), then reads the sysdef file and generate<br />

one *.c and one *.h include file per processor node. This work is facilitated<br />

by the use of a makefile and grouping the tasks in a library.<br />

2. Write and debug the tasks, as normal independent programs that cooperate<br />

using the microkernel services.<br />

3. Develop lower level ISRs and drivers (can be nanokernel processes);<br />

4. Compile and link.<br />

5. Load the target system and run the application.<br />

6. Debug and fine-tune it using the debugger and tracing monitor.<br />

In order to exploit the real-time features, the <strong>Virtuoso</strong> microkernel is linked<br />

with the user tasks and runs as a single executable image on each processor.<br />

This approach results in faster and smaller code, the latter being particularly<br />

important for real-time applications.<br />

<strong>Virtuoso</strong> is not only used for single processor applications. For those applications<br />

requiring more than one processor, the tasks can communicate with<br />

other connected processors, using the communication drivers included with<br />

the MP implementations. The VSP implementations of <strong>Virtuoso</strong> also provide<br />

support to execute fully transparently remote microkernel services from<br />

within different processors, permitting to consider the whole network of processors<br />

as a virtual single processor system. The system definition file that<br />

is parsed by Sysgen contains all the hardware dependent information and<br />

effectively shields the application from the underlying hardware.<br />

For debugging and fine tuning, <strong>Virtuoso</strong> is delivered with a task level debugger<br />

and tracing monitor. The use of these tools will help you in debugging the<br />

system as well as optimizing its performance. If as a result tasks or other<br />

objects are moved to other processors, the only work to do is to change the<br />

system definition file, regenerate the system tables and recompile the application.<br />

Developing applications with <strong>Virtuoso</strong> can be as easy as developing<br />

P1 - 8 <strong>Virtuoso</strong> <strong>User</strong> <strong>Manual</strong> Copyright 1996 Eonic Systems

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

Saved successfully!

Ooh no, something went wrong!