Hi Everyone,
I am using 5502 DSP and I am working on DMA , but the problem I am facing is I dont know how to check whether DMA transfer is complete or not. Am using DMA Channel 1
Thanks & Regards,
Prashant
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi Everyone,
I am using 5502 DSP and I am working on DMA , but the problem I am facing is I dont know how to check whether DMA transfer is complete or not. Am using DMA Channel 1
Thanks & Regards,
Prashant
Hi Prashant,
See Section 12 Monitoring Channel Activity in SPRU613G - TMS320VC5501/5502 DSP Direct Memory Access (DMA) Controller Reference Guide
You can send an interrupt to the CPU on completion of a half Frame, a Frame, or a Block (multiple frames).
There are examples that do this in the Chip Support Library for C5502 - http://www.ti.com/tool/sprc133
Download SPRC133: TMS320C55x Chip Support Library for C5501, C5502, C5509, C5509A, and C5510 devices
Browse to C:\Program Files\C55xxCSL\examples\c5502\csl\dma (or wherever the C55xxCSL is extracted on your computer)
Hope this helps,
Mark
Hi Mark,
Sorry for the delayed reply.
I was on some other work I didn't concentrated on DMA. Now I viewed your reply regarding DMA transfer complete interrupt. I have attached my C file and I am transferring 200 words and on INT0 Sync and I want theDMA transfer to be in loop therefore I used while loop, but it is not in loop because of it is not satisfying the below instructions
do
{
}while((*(ioport int *)DMA_CSR1!= 0x0004) );
I want 200 words to be completely transfer and then it has to repeat again whenever it comes out of the above loop.
Please let me know how to check the DMA transfer complete if possible please give the register settings information.
Thanks & Regards,
Prashant