![Analog Devices Blackfin ADSP-BF537 Скачать руководство пользователя страница 202](http://html.mh-extra.com/html/analog-devices/blackfin-adsp-bf537/blackfin-adsp-bf537_hardware-reference-manual_2939700202.webp)
Programming Model
5-64
ADSP-BF537 Blackfin Processor Hardware Reference
When each new DMA request is processed, the software’s non-interrupt
code fills in a new descriptor’s contents and adds it to the waiting portion
of the queue. The descriptor’s
DMAx_CONFIG
word should have a
FLOW
value
of zero. If more than one request is received before the DMA queue com-
pletion interrupt occurs, the non-interrupt code should queue later
descriptors, forming a waiting portion of the queue that is disconnected
from the active portion of the queue being processed by the DMA unit. In
other words, all but the last active descriptors contain
FLOW
values >= 4
and have no interrupt enable set, while the last active descriptor contains a
FLOW
of 0 and an interrupt enable bit
DI_EN
set to 1. Also, all but the last
waiting descriptors contain
FLOW
values >= 4 and no interrupt enables set,
while the last waiting descriptor contains a
FLOW
of 0 and an interrupt
enable bit set to 1. This ensures that the DMA unit can automatically pro-
cess the whole active queue and then issue one interrupt. Also, this
arrangement makes it easy to start the waiting queue within the interrupt
handler by a single
DMAx_CONFIG
register write.
After queuing a new waiting descriptor, the non-interrupt software should
leave a message for its interrupt handler in a memory mailbox location
containing the desired
DMAx_CONFIG
value to use to start the first waiting
descriptor in the waiting queue (or 0 to indicate no descriptors are
waiting.)
It is critical that the software not modify the contents of the active
descriptor queue directly, once its processing by the DMA unit has been
started, unless careful synchronization measures are taken. In the most
straightforward implementation of a descriptor queue, the DMA manager
software would never modify descriptors on the active queue; instead, the
DMA manager waits until the DMA queue completion interrupt indicates
the processing of the entire active queue is complete.
When a DMA queue completion interrupt is received, the interrupt han-
dler reads the mailbox from the non-interrupt software and writes the
value in it to the DMA channel’s
DMAx_CONFIG
register. This single register
write restarts the queue, effectively transforming the waiting queue to an
Содержание Blackfin ADSP-BF537
Страница 42: ...Contents xlii ADSP BF537 Blackfin Processor Hardware Reference ...
Страница 90: ...Development Tools 1 32 ADSP BF537 Blackfin Processor Hardware Reference ...
Страница 138: ...Programming Examples 4 26 ADSP BF537 Blackfin Processor Hardware Reference ...
Страница 340: ...SDC Programming Examples 6 84 ADSP BF537 Blackfin Processor Hardware Reference ...
Страница 606: ...Programming Examples 9 94 ADSP BF537 Blackfin Processor Hardware Reference ...
Страница 660: ...Programming Examples 10 54 ADSP BF537 Blackfin Processor Hardware Reference ...
Страница 720: ...Electrical Specifications 11 60 ADSP BF537 Blackfin Processor Hardware Reference ...
Страница 840: ...Programming Examples 13 42 ADSP BF537 Blackfin Processor Hardware Reference ...
Страница 876: ...Programming Examples 14 36 ADSP BF537 Blackfin Processor Hardware Reference ...
Страница 938: ...Programming Examples 15 62 ADSP BF537 Blackfin Processor Hardware Reference ...
Страница 958: ...Programming Examples 17 12 ADSP BF537 Blackfin Processor Hardware Reference ...
Страница 986: ...Programming Examples 18 28 ADSP BF537 Blackfin Processor Hardware Reference ...
Страница 1162: ...G 26 ADSP BF537 Blackfin Processor Hardware Reference ...
Страница 1218: ...Index I 56 ADSP BF537 Blackfin Processor Hardware Reference ...