Theory of Operation
Small Descriptor Chaining Model
The small descriptor chaining model (
is similar to the large descriptor chaining model. The only material differ-
ence between the two models is that in the small descriptor model, the
pointer to the next descriptor in a chain of descriptors consists of only the
lower 16 bits of address, rather than a full 32-bit address. This means that
all descriptors on a channel that use the small descriptor model must have
the same upper 16 bits of address. In other words, all small model descrip-
tors for a channel must be located within the same 64KB segment.
This difference is encapsulated in the
type. In order to avoid data alignment issues, a consequence of having the
next descriptor pointer exist as a 16-bit entry rather than a 32-bit entry,
the starting address of the data within the descriptor is declared as two
16-bit entries, rather than a single 32-bit entry. Performing two 16-bit
accesses, rather than a single 32-bit access, avoids alignment exceptions.
Other than these differences, the small descriptor chaining model is func-
tionally identical to the large descriptor chaining model.
Arrays of Descriptors
The descriptor array mode (
supported in the device manager.
Configuring a DMA Channel
Once a DMA channel has been opened, the client can detect and modify
the configuration of the channel via the
complete list of configuration control commands are provided in
Table 6-3 on page
parameters to the
• The channel handle. This is the value provided to the client during
the
adi_dma_Open
6-20
ADI_DMA_MODE_DESCRIPTOR_ARRAY
6-62. In most cases, the client passes the following
adi_dma_Control()
function.
VisualDSP++ 5.0 Device Drivers and System
Services Manual for Blackfin Processors
ADI_DMA_MODE_DESCRIPTOR_SMALL
ADI_DMA_DESCRIPTOR_SMALL
adi_dma_Control
function:
)
data
) is not yet
function. The
Need help?
Do you have a question about the VisualDSP++ 5.0 and is the answer not in the manual?