Texas Instruments TMS320 User Manual page 256

Dsp/bios v5.40
Hide thumbs Also See for TMS320:
Table of Contents

Advertisement

Streaming Data to Multiple Clients
Example 7-16. Using SIO_issue/SIO_reclaim to Send Data to Multiple Clients
7-26
SIO_issue(outStreamA, (Ptr)bufA, npoints, NULL);
SIO_issue(outStreamB, (Ptr)bufA, npoints, NULL);
SIO_issue(outStreamC, (Ptr)bufA, npoints, NULL);
SIO_issue(outStreamD, (Ptr)bufA, npoints, NULL);
SIO_reclaim(outStreamA, (Ptr)&bufA, NULL);
SIO_reclaim(outStreamB, (Ptr)&bufA, NULL);
SIO_reclaim(outStreamC, (Ptr)&bufA, NULL);
SIO_reclaim(outStreamD, (Ptr)&bufA, NULL, SYS_FOREVER);
Note:
Using SIO_issue to send the same buffer to multiple devices does not work
with device drivers that modify the data in the buffer, since the buffer is
simultaneously being sent to multiple devices. For example, a stacking
device that transforms packed data to unpacked data is modifying the
buffer at the same time that another device is outputting the buffer.
The SIO_issue interface provides a method for allowing all communications
drivers access to the same buffer of data. Each communications device
driver, which typically uses DMA transfers, then transfers this buffer of data
concurrently. The program does not return from the four SIO_reclaims until a
buffer is available from all of the streams.
In summary, the SIO_issue/SIO_reclaim functions offer the most efficient
method for the simultaneous transmission of data to more than one stream.
This is not a reciprocal operation: the SIO_issue/SIO_reclaim model solves
the scatter problem quite efficiently for output, but does not accommodate
gathering multiple data sources into a single buffer for input.

Advertisement

Table of Contents
loading

Table of Contents