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.

Issue with CPU triggered EDMA3 on 6455



Hi

 I am using the EDMA3 of C6455 processor to do a CPU triggered transfer of
data. I am used to TIC64x and I understand that there are 64 channels and each
channel is triggered either by an event or a CPU triggered action. I seem to be
a little confused reading 6455 and need clarity. Can some one tell me how to go
about understanding the EDMA3 controller working?. Also I am doing a small
example to have a CPU triggered transfer. Here is my code
#include <stdio.h>
#include <stdlib.h>
#include <csl.h>
#define SRCADDR� (0x02A04004)
void main()
{
int *ptr=(int *)(0x0800000);//L2 memory
unsigned int status,index;
*((int *)0x02A04000)=0x00100008;//PaRam 0 OPT
*((int *)SRCADDR)=0x800000;//source address
*((int *)0x02A04008)=0x100;//count of elements
*((int *)0x02A0400C)=0x800500;//destination address
//values to be moved
for(index=0;index<255;index++)
{
*(ptr++)=index;
}

*((int *)0x02A01010)=0x00000001;//ESR� for channel 0

}


But this code does not do the trick for me. I seem to be doing fine setting the
parameters for channel 0 and using the ESR to trigger.... Thanks for the help

regards
Bala
     

  • May I delete your other posting? This one is very clear as to the device and your requirements.

    The EDMA3 User's Guide is the best source of information on how the EDMA works and how to use it. But for a high-level introduction to the basics of EDMA terms and programming, you may want to view the "EDMA3/QDMA/IDMA" module of the C6474 online training course (some of the other modules may be interesting, too); you can find this at http://e2e.ti.com/media/p/36682.aspx - with my browser, I have to go to this page then refresh the page to see the ten (10) training modules listed underneath the overview.

    You really need to use the CSL rather than hard-coded addresses. It will be easier to get running because all the problems have already been dealt with and fixed there.

    There is an example using CSL attached to the thread at http://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/112/p/11561/45088.aspx#45088 [edit: RandyP to correct the link] . It implements interrupts and 2 ESR-triggered transfers.