DSPRelated.com
Forums

EDMA interrupt

Started by alberthcsiu March 20, 2008
Hi All,

I am using the DSK6455 as my development platform. What I am doing now
is to setup the EDMA channel so that the EDMA will handle data read
form MCBSP and then transfer out form the same MCBSP channel.

In the very beginning I try to use polling to poll the Rx and Tx ready
flag of MCBSP channel to handle the data receive and transmit. And it
prove that my MCBSP setting is correct. Then I comment out those
polling part and setup the EDMA interface (PaRAM ...). Then setup the
DSP/BIOS with the GUI and add the ISR for my system. I do the
following setup in the DSP/BIOS.
1. The property of the field "interrupt selection number" set to 72
(EDMA3CC_INT1)
2. The property of the field "function" set to the same function name
of my ISR.

I add a breakpoint within the ISR and find that the program never stop
at that breakpoint which means that it never jump into the ISR. I am
not sure where my problem is but I think it mainly due to my DSP/BIOS
setup. So anyone please provide some suggestion for me.

Thanks for your help in advance.

Albert Siu
Hi Albert,

I'm not familiar at all with C6455, more with C6415. Anyway, these both DSPs seem to include the same EDMA engine.

Are you sure the transfer has completed ? Have you checked memory content on receive ?

In order to investigate your problem, you can check a couple a EDMA registers (especially CIER and CIPR) when you think the transfer is supposed to be completed. In the CIER register, the bit corresponding to the PaRAM channel you've programmed must be set before triggering the transfer and must still be set after transfer completion.
On the other end, in the CIPR register, the same bit must be reseted before transfer starts and set (by EDMA) after transfer completion. If this is not the case, your transfer might not be completed actually.

See SPRU234C for more information about EDMA.

--
sj
>-----Original Message-----
>From: c... [mailto:c...] On
>Behalf Of alberthcsiu
>Sent: jeudi 20 mars 2008 03:29
>To: c...
>Subject: [c6x] EDMA interrupt
>
>Hi All,
>
>I am using the DSK6455 as my development platform. What I am doing now
>is to setup the EDMA channel so that the EDMA will handle data read
>form MCBSP and then transfer out form the same MCBSP channel.
>
>In the very beginning I try to use polling to poll the Rx and Tx ready
>flag of MCBSP channel to handle the data receive and transmit. And it
>prove that my MCBSP setting is correct. Then I comment out those
>polling part and setup the EDMA interface (PaRAM ...). Then setup the
>DSP/BIOS with the GUI and add the ISR for my system. I do the
>following setup in the DSP/BIOS.
>1. The property of the field "interrupt selection number" set to 72
>(EDMA3CC_INT1)
>2. The property of the field "function" set to the same function name
>of my ISR.
>
>I add a breakpoint within the ISR and find that the program never stop
>at that breakpoint which means that it never jump into the ISR. I am
>not sure where my problem is but I think it mainly due to my DSP/BIOS
>setup. So anyone please provide some suggestion for me.
>
>Thanks for your help in advance.
>
>Albert Siu
>
------------------
Sylvain JOYEAU
Freelance Engineer
Software RT-OS R&D
s...@gmail.com
T: +33-(0)667 477 052
"A good idea is one side of the coin. The other side is the practical usefulness". J. Liedke.



Check Out Industry's First Single-Chip, Multi-Format, Real-Time HD Video Transcoding Solution for Commercial & Consumer End Equipment: www.ti.com/dm6467