DSPRelated.com
Forums

EDMA problem

Started by Unknown July 20, 2005
Hello all,

I am a rookie in DM642 platform. These days I am tangled by a EDMA problem.
I found that DAT_copy will not work properly when L2 cache is turned on and
source data and/or destination data is resided in off chip memory. In TI's
document, it is said that EDMA operation can't guarantee the consistency
between L2 cache and SDRAM. So I call function CACHE_wbInvL2 to removed
cached source data and/or destination data from L2 cache before DAT_copy
is called as following.

CACHE_wbInvL2(MEM_SRC, EL_COUNT, CACHE_NOWAIT);
CACHE_wbInvL2(MEM_DST, EL_COUNT, CACHE_NOWAIT);
DAT_copy((void *)MEM_SRC, (void *)MEM_DST, EL_COUNT);

Even CACHE_NOWAIT is set, CACHE_wbInvL2 consumes lots of cycles. So it is
much slower than memcpy. Who can help me to accelerate the EDMA memory copy?
Thanks a lot!

Li Maoquan