DAT module in CSL 3.0 (EDMA 3)

Started by moshe shimoni September 26, 2006
I have seen that the DAT module API has changed in the new CSL (v3.0).
As far as I saw, it's not possible to have more than 1 transfer at a
time. When you open the module with DAT_open you have to define on
which QDMA channel the transfer will be triggered, and which tcc you
get. There's no more DAT_CHAANY as it was before. I do some transfers
and get the same xfr_id. So the question is, how can I work with double
buffering when the transfer id is the same for all transfers? Also, if
the former DAT_copy call has not been complete, another call to
DAT_copy blocks.

Am I missing something?

Here is some code I ran:

DAT_Setup datSetup;;

datSetup.qchNum = CSL_DAT_QCHA_0;
datSetup.regionNum = CSL_DAT_REGION_GLOBAL ;
datSetup.tccNum = 1;
datSetup.paramNum = 0 ;
datSetup.priority = CSL_DAT_PRI_0;

for (i = 0; i < 5; i++)
   dat_id[i] = DAT_copy(p_int[i], p_ext[i], ARRAY_SIZE);

I get in dat_id: {1,1,1,1,1}.