26.02.2014 Views

Getting Started with QNX Neutrino - QNX Software Systems

Getting Started with QNX Neutrino - QNX Software Systems

Getting Started with QNX Neutrino - QNX Software Systems

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.

© 2009, <strong>QNX</strong> <strong>Software</strong> <strong>Systems</strong> GmbH & Co. KG.<br />

Message passing over a network 124<br />

Networked message passing differences 126<br />

Some notes on NDs 128<br />

Priority inheritance 130<br />

So what’s the trick? 132<br />

Summary 133<br />

3<br />

4<br />

Clocks, Timers, and <strong>Getting</strong> a Kick Every So Often 135<br />

Clocks and timers 137<br />

Operating periodically 137<br />

Clock interrupt sources 139<br />

Base timing resolution 140<br />

Timing jitter 140<br />

Types of timers 141<br />

Notification schemes 142<br />

Using timers 146<br />

Creating a timer 146<br />

Signal, pulse, or thread? 147<br />

What kind of timer? 147<br />

A server <strong>with</strong> periodic pulses 149<br />

Timers delivering signals 157<br />

Timers creating threads 157<br />

<strong>Getting</strong> and setting the realtime clock and more 157<br />

Advanced topics 159<br />

Other clock sources 159<br />

Kernel timeouts 163<br />

Summary 165<br />

Interrupts 167<br />

<strong>Neutrino</strong> and interrupts 169<br />

Interrupt service routine 170<br />

Level-sensitivity versus edge-sensitivity 172<br />

Writing interrupt handlers 175<br />

Attaching an interrupt handler 175<br />

Now that you’ve attached an interrupt 176<br />

Detaching an interrupt handler 177<br />

The flags parameter 178<br />

The interrupt service routine 178<br />

ISR functions 186<br />

Summary 188<br />

April 30, 2009 Contents v

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

Saved successfully!

Ooh no, something went wrong!