Comparing Driver Models
Input/Output Methods 6-5
6.3 Comparing Driver Models
Below the application level, DSP/BIOS provides two device driver models
that enable applications to communicate with DSP peripherals: IOM and
SIO/DEV.
❏ IOM model. The components of the IOM model are illustrated in the
following figure. It separates hardware-independent and hardware-
dependent layers. Class drivers are hardware independent; they manage
device instances, synchronization and serialization of I/O requests. The
lower-level mini-driver is hardware-dependent. The IOM model can be
used with either pipes or streams via the PIO and DIO adapters. See the
DSP/BIOS Driver Developer’s Guide (SPRU616) for more information on
the IOM model.
❏ SIO/DEV model. This model provides a streaming I/O interface. The
application indirectly invokes DEV functions implemented by the device
driver managing the physical device attached to the stream, using
generic functions provided by the SIO module. The SIO/DEV model
cannot be used with pipes. See Chapter 7 for more information on the
SIO/DEV model.
For either model, you create a user-defined device object using the DEV
module. The model used by this device is identified by its function table type.
A type of IOM_Fxns is used with the IOM model. A type of DEV_Fxns is used
with the DEV/SIO model.
You can create device objects through static configuration or dynamically
through the DEV_createDevice function. The DEV_deleteDevice and
DEV_match functions are also provided for managing device objects.
Application / Framework
SIO APIs
PIP APIs
PIO Adapter DIO Adapter
GIO APIs
IOM Mini-Driver(s)
Device
Driver
On-Chip Peripheral Hardware
Chip Support Library (CSL)
Off-Chip Peripheral Hardware
Class
Driver
Mini-
Driver