ADSP-BF537 Blackfin Processor Hardware Reference
5-65
Direct Memory Access
active queue. The interrupt handler should then pass a message back to
the non-interrupt software indicating the location of the last descriptor
accepted into the active queue. If, on the other hand, the interrupt han-
dler reads its mailbox and finds a
DMAx_CONFIG
value of zero, indicating
there is no more work to perform, then it should pass an appropriate mes-
sage (for example, zero) back to the non-interrupt software indicating that
the queue has stopped. This simple handler should be able to be coded in
a very small number of instructions.
The non-interrupt software which accepts new DMA work requests needs
to synchronize the activation of new work with the interrupt handler. If
the queue has stopped (that is, if the mailbox from the interrupt software
is zero), the non-interrupt software is responsible for starting the queue
(writing the first descriptor’s
DMAx_CONFIG
value to the channel’s
DMAx_
CONFIG
register). If the queue is not stopped, however, the non-interrupt
software must not write the
DMAx_CONFIG
register (which would cause a
DMA error), but instead it should queue the descriptor onto the waiting
queue and update its mailbox directed to the interrupt handler.
Software Triggered Descriptor Fetches
If a DMA has been stopped in
FLOW
=
0
mode, the
DMA_RUN
bit in the
DMAx_IRQ_STATUS
register remains set until the content of the internal
DMA FIFOs has been completely processed. Once the
DMA_RUN
bit clears,
it is safe to restart the DMA by simply writing again to the
DMAx_CONFIG
register. The DMA sequence is repeated with the previous settings.
Similarly, a descriptor-based DMA sequence that has been stopped tem-
porarily with a
FLOW
=
0
descriptor can be continued with a new write to
the configuration register. When the DMA controller detects the
FLOW
=
0
condition by loading the
DMACFG
field from memory, it has already
updated the next descriptor pointer, regardless of whether operating in
descriptor array mode or descriptor list mode.
Summary of Contents for Blackfin ADSP-BF537
Page 42: ...Contents xlii ADSP BF537 Blackfin Processor Hardware Reference ...
Page 90: ...Development Tools 1 32 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 138: ...Programming Examples 4 26 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 340: ...SDC Programming Examples 6 84 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 606: ...Programming Examples 9 94 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 660: ...Programming Examples 10 54 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 720: ...Electrical Specifications 11 60 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 840: ...Programming Examples 13 42 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 876: ...Programming Examples 14 36 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 938: ...Programming Examples 15 62 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 958: ...Programming Examples 17 12 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 986: ...Programming Examples 18 28 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 1162: ...G 26 ADSP BF537 Blackfin Processor Hardware Reference ...
Page 1218: ...Index I 56 ADSP BF537 Blackfin Processor Hardware Reference ...