DNL Driver
Application Program Interface
2-95
Important Note:
This driver will no longer be supported in the next
major release of DSP/BIOS. We recommend that you use the IOM
driver interface instead. See the
DSP/BIOS Driver Developer’s Guide
(SPRU616). This driver is still supported in DSP/BIOS 5.32 and will be
supported in any patch releases or minor enhancements to DSP/BIOS
5.32.
Description
The DNL driver manages “empty” devices which nondestructively
produce or consume data streams. The number of empty devices in the
system is limited only by the availability of memory; DNL instantiates a
new object representing an empty device on opening, and frees this
object when the device is closed.
The DNL driver does not define device ID values or a params structure
which can be associated with the name used when opening an empty
device. The driver also ignores any unmatched portion of the name
declared in the system configuration file when opening a device.
Configuring a
DNL Device
To create a DNL device object in a configuration script, use the following
syntax:
var myDnl = bios.UDEV.create("myDnl");
Set DEV Object Properties for the device you created as follows.
❏
init function.
Type 0 (zero).
❏
function table ptr.
Type _DNL_FXNS
❏
function table type
. DEV_Fxns
❏
device id.
Type 0 (zero).
❏
device params ptr.
Type 0 (zero).
Data Streaming
DNL devices can be opened for input or output data streaming. Note that
these devices return buffers of undefined data when used for input.
The DNL driver places no inherent restrictions on the size or memory
segment of the data buffers used when streaming to or from an empty
device. Since DNL devices are fabricated entirely in software and do not
overlap I/O with computation, no more that one buffer is required to attain
maximum performance.
Tasks do not block when using SIO_get, SIO_put, or SIO_reclaim with a
DNL data stream.
DNL Driver
Null driver