Sign in

username:

password:



Not a member?

Search c6x



Search tips

Subscribe to c6x



c6x by Keywords

AD535 | BIOS | Booting | Bootloader | C621 | C6211 | C6415 | C671 | C6711 | C6711DSK | C6713 | CCS | Chassaing | COFF | DAT | DM64 | DM642 | DMA | DSK671 | DSK6711 | EDM | EDMA | EMIF | Emulator | EVM | EVM620 | FFT | FIR | GPIO | Halting | HPI | HWI | IDK | JTAG | LDB | LDH | LDW | Linker | LMS | LOG_printf | Matlab | McBSP | MEM_alloc | MIPS | PCI | PCM3003 | Pipeline | Profiling | QDM | Reset | ROM | RTDX | Sampling | SDRAM | Stack | TEB | THS1206 | TMS320C621 | TMS320C6416 | TMS320C6711 | TMS320C6713 | UART | Vector Table | XBUS | XDS560


Discussion Groups

See Also

Embedded SystemsFPGAElectronics

Discussion Groups | TMS320C6x | EDMA problem


Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).

  

Post a new Thread

EDMA problem - nisar2075 - Mar 25 14:04:00 2002

Hi
all,

we are working on 6211 DSK and having problem with
EDMA usage.
The problems we are facing are as follows
-- channel link
-- channel chaining
-- The length assigned to an array is not reflected
properly in the memory.If we assign 1K, 4k of data is
filled by EDMA

If anyone has already worked on EDMA or has EDMA
examples,
Please send to the following Mail-Id's Thanks

Nisar and Preeti



______________________________
New Code Sharing Section now Live on DSPRelated.com. Learn about the Reward Program for Contributors here.



(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )

RE: EDMA problem - Jean-Michel MERCIER - Mar 26 14:41:00 2002


Hello,

You wrote :

> -- The length assigned to an array is not reflected
> properly in the memory.If we assign 1K, 4k of data is
> filled by EDMA

EDMA counting is in elements, not in bytes
Is you set ElementSize to 32 bits and set
count to 1024 you will have 1024 Int32 transfered
that is 4096 bytes !

Concerning linking. It is recommended that every
EDMA programming is linked to a PRAM EDMA parameter
set filled with zero to properly end the EDMA transfer. Jean-Michel MERCIER

-------------------------------------------------------
dsp and imaging specialists - www.ateme.com
ATEME - 26 Burospace - 91573 BIEVRES
Tel : +33 (0)1 69 35 89 73 (direct)
Fax : +33 (0)1 60 19 13 95


______________________________
New Code Sharing Section now Live on DSPRelated.com. Learn about the Reward Program for Contributors here.



(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )

Re: EDMA problem - Tarakesh Nagajjanavar - Mar 27 5:20:00 2002

Hi,

you can get some info/code from

http://dspvillage.ti.com/docs/catalog/resources/appnoteabstract.jhtml?familyId=4 \
77&abstractName=spra636a

regards,
tarakesh. --- nisar2075 <> wrote:
> Hi
> all,
>
> we are working on 6211 DSK and having problem with
> EDMA usage.
> The problems we are facing are as follows
> -- channel link
> -- channel chaining
> -- The length assigned to an array is not reflected
>
> properly in the memory.If we assign 1K, 4k of data
> is
> filled by EDMA
>
> If anyone has already worked on EDMA or has EDMA
> examples,
> Please send to the following Mail-Id's > Thanks
>
> Nisar and Preeti > _____________________________________ __________________________________________________


______________________________
Start your Android Ice Cream Sandwich development on TI's AM35x Sitara ARM Cortex-A8 processor today.



(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )

EDMA problem - Philippe Simal - Dec 10 15:13:00 2003

Hi All,

I'm using the TMS320C6415 with code composer 2.2 and CSL. I try to setup a
EDMA transfer but it does not seems to work.
The problem is that the dma 'done interrupt' does not occured. Function
'Edma_Interrupt' is called when interrupt 8 occures (but int8 does not).
Below you see my test source code.
The CPU sets the event so I do not use a hardware event.
When I step through this code and execute "EDMA_setChannel(hEdma0);" I see
at the debugger that the event set register (ESRL) does not set.
So I can't trigger an event to start the EDMA.
Even when I write directly to the register "Write32(0x01A0FFFC,0x00000800);"
it won't work.

What is wrong here?----------- Source code--------------------------------

void Edma_Transfer(void)
{
 EDMA_Handle hEdma0;

 IRQ_reset(IRQ_EVT_EDMAINT);
 EDMA_clearPram(0x00000000);

 hEdma0=EDMA_open(EDMA_CHA_GPINT3, EDMA_OPEN_RESET);

 EDMA_configArgs(hEdma0,
  EDMA_OPT_RMK(
   EDMA_OPT_PRI_MEDIUM,
   EDMA_OPT_ESIZE_16BIT,
   EDMA_OPT_2DS_NO,
   EDMA_OPT_SUM_NONE,
   EDMA_OPT_2DD_NO,
   EDMA_OPT_DUM_NONE,
   EDMA_OPT_TCINT_YES,
   EDMA_OPT_TCC_OF(11),
   EDMA_OPT_TCCM_DEFAULT,
   EDMA_OPT_ATCINT_DEFAULT,
   EDMA_OPT_ATCC_DEFAULT,
   EDMA_OPT_PDTS_DEFAULT,
   EDMA_OPT_PDTD_DEFAULT,
   EDMA_OPT_LINK_NO,
   EDMA_OPT_FS_NO
  ),
  EDMA_SRC_RMK((UInt32_t)EdmaOutBuffer),
  EDMA_CNT_RMK(
   EDMA_CNT_FRMCNT_DEFAULT,
   EDMA_CNT_ELECNT_OF(8)
  ),
  EDMA_DST_RMK((UInt32_t)EdmaInBuffer),
  EDMA_IDX_RMK(0,1),
  EDMA_RLD_RMK(0,0)
 );

 IRQ_enable(IRQ_EVT_EDMAINT);

 EDMA_intEnable(EDMA_CHA_GPINT3);
 EDMA_enableChannel(hEdma0);

 EDMA_setChannel(hEdma0);

 while(!TransferDone);
 TransferDone=FALSE;

 EDMA_close(hEdma0);
}

interrupt void Edma_Interrupt(void)
{
 TransferDone=TRUE;
}Regards,
Philippe



______________________________
New Code Sharing Section now Live on DSPRelated.com. Learn about the Reward Program for Contributors here.



(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )