Streaming Data to Multiple Clients
7-26
Example 7-16.
Using SIO_issue/SIO_reclaim to Send Data to Multiple Clients
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.
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);
Summary of Contents for TMS320 Series
Page 1: ...TMS320 DSP BIOS v5 40 User s Guide Literature Number SPRU423G April 2009 ...
Page 16: ...xvi ...
Page 152: ...Tasks 4 48 Figure 4 12 Trace from Example 4 7 ...
Page 168: ...Semaphores 4 64 Figure 4 14 Trace Results from Example 4 11 ...
Page 202: ...5 20 ...
Page 287: ...Index 9 Index Void 1 11 W words data memory 3 15 of code 1 5 wrapper function 2 29 ...
Page 288: ...Index 10 Index ...