SIO Module
2-384
Description
The stream manager provides efficient real-time device-independent I/O
through a set of functions that manipulate stream objects accessed
through handles of type SIO_Handle. The device independence is
afforded by having a common high-level abstraction appropriate for real-
time applications, continuous streams of data, that can be associated
with a variety of devices. All I/O programming is done in a high-level
manner using these stream handles to the devices and the stream
manager takes care of dispatching into the underlying device drivers.
For efficiency, streams are treated as sequences of fixed-size buffers of
data rather than just sequences of MADUs.
Streams can be opened and closed during program execution using the
functions SIO_create and SIO_delete, respectively.
The SIO_issue and SIO_reclaim function calls are enhancements to the
basic DSP/BIOS device model. These functions provide a second usage
model for streaming, referred to as the issue/reclaim model. It is a more
flexible streaming model that allows clients to supply their own buffers to
a stream, and to get them back in the order that they were submitted. The
SIO_issue and SIO_reclaim functions also provide a user argument that
can be used for passing information between the stream client and the
stream devices.
Both SWI and TSK threads can be used with the SIO module. However,
SWI threads can be used only with the issue/reclaim model, and only
then if the timeout parameter is 0. TSK threads can be used with either
model.
SIO Manager
Properties
The following global properties can be set for the SIO module in the SIO
Manager Properties dialog of the DSP/BIOS Configuration Tool or in a
Tconf script:
❏
Object Memory
. The memory segment that contains the SIO objects
created with Tconf.
Tconf Name: OBJMEMSEG
Type: Reference
Example:
bios.SIO.OBJMEMSEG = prog.get("myMEM");
❏
Use Only Issue/Reclaim Model
.
Enable this option if you want the
SIO module to use only the issue/reclaim model. If this option is false
(the default) you can also use the standard model.
Tconf Name: USEISSUERECLAIM
Type: Bool
Example:
bios.SIO.USEISSUERECLAIM = false;
SIO Object Properties
To create an SIO object in a configuration script, use the following syntax.
The Tconf examples that follow assume the object has been created as
shown here.