各位专家好:
刚开始学DSP,最近学习了EDMA。有两个问题
问题一:想一次初始化EDMA就可以多次完成传输我在一次EDMA传输后再次使用
CSL_edma3HwControl(hModule,CSL_EDMA3_CMD_INTRPEND_CLEAR,®ionIntr); 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,®ionIntr);
] 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进行输出,请问这么做可以吗
谢谢!
0