24.8.5.2.2 Workflow
- Start the loop for transfer.
for
(i=0;i<TRANSFER_COUNTER;i++) {
transfer_is_done =
false
;
dma_start_transfer_job(&example_resource);
while
(!transfer_is_done) {
/* Wait for transfer done */
}
example_descriptor.SRCADDR.reg += TRANSFER_SIZE;
example_descriptor.DSTADDR.reg += TRANSFER_SIZE;
}
- Set the transfer done flag as false.
transfer_is_done =
false
;
- Start the transfer job.
dma_start_transfer_job(&example_resource);
- Wait for transfer done.
while
(!transfer_is_done) {
/* Wait for transfer done */
}
- Update the source and destination address for next transfer.
example_descriptor.SRCADDR.reg += TRANSFER_SIZE;
example_descriptor.DSTADDR.reg += TRANSFER_SIZE;
- Enter endless loop.
while
(1);