Mile-
I didn't see that you an answer, so let me take a stab.
> Thanks your help in advance.
>
> Now I met one question about EDMA transfer data as follows.
>
> I want to transfer one whole column pixels from external memory image (size:
32*98304(R*C) )to internal memory,every
> pixels takes up2 bytes.
>
> I set the following parameters for EDMA:
>
> config.opt = 0x00100004 | (Inttcc<<12); //0x00100004
> config.acnt = 2;
> config.bcnt = 32;
> config.srcbidx = 98304*2;
> config.dstbidx = 2;
> config.link = 0xffff;
> config.bcntrld = 0;
> config.srccidx = 0;
> config.dstcidx = 0;
> config.ccnt = 1;
>
> The marked statement is source index,the value:98304*2= 0x30000,the value
takes up 18 bits,which is larger than the
> bits of EDMA index register(16 bits):SRCBIDX.
>
> How to solve this problem for DMA data transimission?
>
> Platform: DM6446
> DSP Core: C64+
> ARM Core: ARM9
I believe you will need to do two (2) EDMA transfers, possibly by "chaining" the
second to the first so that it
happens automatically, without program code intervention. This is an
often-discussed issue with C64x+ DMA... if you
search e2e.ti.com and dsprelated.com for
"transfer size" chaining
"transfer size" linking
you can find some threads.
-Jeff
_____________________________________