ADSP-21368 SHARC Processor Hardware Reference 2-41
I/O Processor
2. Write to the appropriate DMA control register, setting the DMA
enable bit to one and the chaining enable bit to one.
3. Write the address containing the index register value of the first
TCB to the chain pointer register, which starts the chain.
The I/O processor responds by autoinitializing the first DMA parameter
registers with the values from the first TCB, and then starts the first data
transfer.
Inserting a TCB in an Active Chain
It is possible to insert a single DMA operation or another DMA chain
within an active DMA chain. Programs may need to perform insertion
when a high priority DMA requires service and cannot wait for the cur-
rent chain to finish.
When DMA on a channel is disabled and chaining on the channel is
enabled, the DMA channel is in chain insertion mode. This mode lets a
program insert a new DMA or DMA chain within the current chain with-
out effecting the current DMA transfer. Use the following sequence to
insert a DMA subchain for the serial port 0A channel while another chain
is active:
1. Enter chain insertion mode by setting SCHEN_A = 1 and SDEN_A = 0
in the channel’s DMA control register,
SPCTL0. The DMA inter-
rupt indicates when the current DMA sequence is complete.
2. Copy the address currently held in the chain pointer register to the
chain pointer position of the last TCB in the chain that is being
inserted.
3. Write the start address of the first TCB of the new chain into the
chain pointer register.
4. Resume chained DMA mode by setting SCHEN_A = 1 and
SDEN_A = 1.