how to check whether a dma channel is free to execute new DMA request? I thought about using ACTIVE and DONE bits of CSR register, but it seems they are not suitable for that.
Checking DONE == 1 works only when there was previous DMA transaction (it doesn't work if the DMA channel hasn't been used yet).
And ACTIVE is set to 0 on minor loop completition. I want something that tells me all major loops (whole tranaction) has been completed.
Thanks for help.
You could do a single dummy transfer during system initialisation in order to prepare the DONE bit and then use it as flag during subsequent operations.
thanks. I'll do it If this is the only possibility...