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.

c6678的EDMA可以多次触发同一个channel么



各位专家好:

             刚开始学DSP,最近学习了EDMA。有两个问题

问题一:想一次初始化EDMA就可以多次完成传输我在一次EDMA传输后再次使用    

CSL_edma3HwControl(hModule,CSL_EDMA3_CMD_INTRPEND_CLEAR,&regionIntr);          CSL_edma3HwChannelControl(hChannel,CSL_EDMA3_CMD_CHANNEL_SET,NULL);

regionIntr.region = CSL_EDMA3_REGION_GLOBAL;
regionIntr.intr   = 0;
regionIntr.intrh  = 0;

(假设源地址数据或者是目标地址数据改变了)

但是第二次触发后   

    do {
        CSL_edma3GetHwStatus(hModule,CSL_EDMA3_QUERY_INTRPEND,&regionIntr);
    } while (!(regionIntr.intr & 0x1));

就通过不了了,请问这里是哪里错了呢。

问题二:

         想实现多核EDMA传输,想法是通过如下语句让每个核使用不同的channel和PaRAM

    chAttr.regionNum = CSL_EDMA3_REGION_GLOBAL;
    chAttr.chaNum    = coreNum;
    hChannel = CSL_edma3ChannelOpen(&chObj, instNum, &chAttr, &status);

 /* Map the DMA Channel to PARAM Block (coreNum). */
    CSL_edma3MapDMAChannelToParamBlock (hModule, channelNum, coreNum
);

/* Obtain a handle to parameter set (coreNum)*/

    hParamPing = CSL_edma3GetParamHandle(hChannel, coreNum, &status);

再分别设置每个核对应的PaRAM进行输出,请问这么做可以吗

                                                                                                                                谢谢!