How does the minidriver work?

A minidriver is a function that you link to the QNX Neutrino startup program, so that it runs before the system becomes operational and the kernel is initialized. A minidriver can access hardware and store data in a RAM buffer area where a full (process-time) driver can then read this buffered information.

During system startup, a minidriver handler function is periodically called (or polled). You can adapt this periodic/polled interval to suit your device's timing requirements with minor changes to the startup program. At some point in the system startup, interrupts become available, and this handler function becomes interrupt driven. The handler is called with a state variable, so the handler knows why it was called.