To insert a new descriptor 'C' between two
existing descriptors ('A' and 'B'), the descriptor currently executed by the DMA must be
identified.
- 1.If DMA is executing descriptor B, descriptor C cannot be inserted.
- 2.If DMA has not started to execute
descriptor A, follow the steps:
- 2.1.Set the descriptor A VALID bit to
'0'.
- 2.2.Set the DESCADDR value of descriptor A to point to descriptor C
instead of descriptor B.
- 2.3.Set the DESCADDR value of descriptor C to point to descriptor
B.
- 2.4.Set the descriptor A VALID bit to
'1'.
- 3.If DMA is executing descriptor A:
- 3.1.Apply the software suspend command to the channel and
- 3.2.Perform steps 2.1 through
2.4.
- 3.3.Apply the software resume command
to the channel.