Device Manager Design
operating in synchronous mode, the
loop until the buffer (or the last buffer within the list of buffers, if multi-
ple buffers were provided as a parameter) is processed before returning to
the application. Again, the physical driver has no knowledge of (nor the
need for) the synchronous/asynchronous mode information.
adi_dev_Write Functional Description
The
adi_dev_Write
function, except the data is destined for the outbound rather than
Read
inbound direction. For detailed reference information, see
Write" on page
adi_dev_Control Functional Description
The
adi_dev_Control
commands from the application. Like all the API functions, if error check-
ing is enabled, the device handle is validated upon entry into the function.
For detailed reference information, see
Processing within the
mand ID passed in as a parameter. Some commands can be processed
entirely by the device manager, some commands are processed by the
physical driver only, and other commands need to be processed by both
the device manager and the physical driver. In order to accomplish this,
the bulk of this function is designed as a C switch statement. Each com-
mand that the device manager cares about has an entry in the statement.
When a command is passed that the device manager needs to process, the
device manager processes the command and then sets a flag, stating
whether the command needs to pass down to the physical driver. When
processing gets to the bottom of the function, if the command needs to be
passed to the physical driver, the
cal driver is called and the return code from the physical driver is passed
10-38
function operates virtually identically to the
10-65.
function is used to process configuration-type
adi_dev_Control
adi_pdd_Control
VisualDSP++ 5.0 Device Drivers and System
function waits in a
adi_dev_Read
"adi_dev_Control" on page
function is based upon the com-
function of the physi-
Services Manual for Blackfin Processors
adi_dev_
"adi_dev_
10-59.
Need help?
Do you have a question about the VisualDSP++ 5.0 and is the answer not in the manual?