30.12.2013 Views

Virtuoso User Manual - ClassicCMP

Virtuoso User Manual - ClassicCMP

Virtuoso User Manual - ClassicCMP

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Virtuoso</strong> : an overview<br />

Most real-time kernels only provide a single ISR level and the C task level as<br />

this is sufficient for supporting applications using standard microprocessors<br />

and microcontrollers. This is also the case for ports of <strong>Virtuoso</strong> to this class<br />

of processors.<br />

3.4. An execution trace illustrated<br />

Task/Prio1<br />

Task/Prio2<br />

Task/Prio3<br />

Task/Prio4<br />

IdleTask<br />

T=20<br />

LiteTask1<br />

LiteTask2<br />

LiteTask3<br />

Micro-Kernel<br />

➌<br />

➌<br />

➌<br />

➍<br />

➌<br />

➌<br />

T=1<br />

ISR1-1<br />

ISR1-2<br />

ISR1-3<br />

ISR1-4<br />

➋<br />

➋<br />

➋<br />

T=1<br />

ISR0-1<br />

ISR0-2<br />

ISR0-3<br />

ISR0-4<br />

❶<br />

❶<br />

❶<br />

❶<br />

❶<br />

❶<br />

T=1<br />

FIGURE 3<br />

An execution trace of a hypothetical <strong>Virtuoso</strong> program segment<br />

In Figure 2, we illustrate a hypothetical example that illustrates the interaction<br />

between the different levels. The order of magnitude of the timestep is<br />

indicated in microseconds. As can be seen any lower level has an effective<br />

higher priority than any higher level and can preempt an activity executing at<br />

any higher level.<br />

The processor accepts an interrupt (1). This can be an external interrupt, a<br />

comport interrupt or a timer interrupt. The interrupt is passed on to a higher<br />

level for further processing. This disables interrupts for less than one microsecond<br />

on a C40, or about 1.5 microseconds on a 96K.<br />

P1 - 16 <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!